Posted on 2010-08-26 18:16
Prayer 閱讀(2905)
評論(1) 編輯 收藏 引用 所屬分類:
Shell
1.利用shell cmdline的特性
A=123
awk '/^'"$A"'/ { print $2 }'
上面的cmdline中,shell把'/^'"$A"'/ { print $2 }'作為awk的第一個參數,這個'/^'"$A"'/ { print $2 }'可以分為3小塊
(1)'/^':因為/^被單引號引起來,所以shell傳這個小部分給awk時候,傳的是:/^
(2)"$A":因為$A是被雙引號引起,所以shell傳這個小部分給awk時候,先把$A,做給“變量替換”,所以傳的是:123
(3)'/ { print $2 }':因為/ { print $2 }被單引起來,所以傳的是:/ { print $2 }
這3個小部分做為一個參數傳給awk,合計3個小部分,那么傳的就是
/^123/ { print $2 }
2.使用-v參數
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"