1.利用shell cmdline的特性
A=123
awk '/^'"$A"'/ { print $2 }'
上面的cmdline中,shell把'/^'"$A"'/ { print $2 }'作為awk的第一個(gè)參數(shù),這個(gè)'/^'"$A"'/ { print $2 }'可以分為3小塊
(1)'/^':因?yàn)?^被單引號(hào)引起來(lái),所以shell傳這個(gè)小部分給awk時(shí)候,傳的是:/^
(2)"$A":因?yàn)?A是被雙引號(hào)引起,所以shell傳這個(gè)小部分給awk時(shí)候,先把$A,做給“變量替換”,所以傳的是:123
(3)'/ { print $2 }':因?yàn)? { print $2 }被單引起來(lái),所以傳的是:/ { print $2 }
這3個(gè)小部分做為一個(gè)參數(shù)傳給awk,合計(jì)3個(gè)小部分,那么傳的就是
/^123/ { print $2 }
2.使用-v參數(shù)
A=123
awk -v B="$A" '/^B/ { print $2 }'
3.pass variable settings into awk as "fake file names"
awk '/^B/ { print $2 }' B="$A"