在下面的代碼中,我試圖將shell varibale傳遞給awk。但是,當我嘗試運行它爲a.sh foo_bar時,打印的輸出爲「foo未聲明」,當我將其作爲a.sh bar_bar運行時,打印的輸出爲「foo已聲明」。 awk中是否有bug或者我在這裏做錯了什麼?在awk中錯誤地解釋shell變量
我正在使用gawk-3.0.3。
#!/bin/awk
model=$1
awk ' {
match("'$model'", /foo/)
ismodel=substr("'$model'", RSTART, RLENGTH)
if ( ismodel != foo) {
print " foo is not declared"
} else {
print " foo is declared"
}
}
' dummy
dummy是單個空行的文件。
感謝,
謝謝schot!它的工作原理就像你說的那樣。 – 2010-08-20 07:32:25