方法3:通過環境變數
aa="this is a test";export aa
awk 'BEGIN{print ENVIRON["aa"]}'
正常
注意設定環境變數的時候是export aa而不是export $aa
方法4:使用awk 'script' awkvar="shellvar" filename
aa="this is a test";export aa
awk 'END{print bb}' bb="$aa" a.txt
當把END改為BEGIN的時候就不能使用了
二、awk中使用shell的陣列變數
aa=(a b c d e)
awk -v bb="$aa" 'BEGIN{print bb}'
只能輸出a,估計是數組aa的第一個成員
aa=(a b c d e)
awk -v bb="$aa" 'BEGIN{for(i in bb) print bb[i]}'
報錯
提示bb不是一個數組
aa=(a b c d e)
awk -v bb="${aa[*]}" 'BEGIN{split(bb,A," ");for(i in A) print i"---"A[i]}'