次のコードでは、シェルの変数をawkに渡そうとしています。しかし、a.sh foo_barとして実行しようとすると、出力は「foo is notdeclared」になり、a.sh bar_barとして実行すると、出力は「fooisdeclared」になります。awkにバグがありますか、それともここで何か間違ったことをしていますか?
私は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
ダミーは、空白行が1行のファイルです。
ありがとう、