傳遞shell指令碼中的數組給awk

來源:互聯網
上載者:User

實際中遇到了,就按自己的方法寫了,這裡只展示其中相關的一部分

#擷取數組的長度

ARRAY_LEN="`wc -l temp2 | awk '{print $1}'`"

TEMP_INDEX=0

declare -a ARRAY_DATE

#為shell中的數組賦值

for i in $(cat temp2);do

        ARRAY_DATE[TEMP_INDEX++]=$i

done

 

#for((ix=0;ix<$ARRAY_LEN;ix++));do 

#       echo ${ARRAY_DATE[ix]}

#done

#將shell數組中所有內容傳遞給awk

awk -v STRING="${ARRAY_DATE[*]}" 'BEGIN{ 

#分割STRING,使其還原成和shell數組內容一樣

        LEN=split(STRING,DATE)

#後面就可以做自己想要的處理了

。。。。。

 

總結:將指令碼中的數組取所有值作為一個變數值付給awk變數,利用split分割還原回來

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.