使えないと思ったら使えました
shuzo-kino.hateblo.jp
古い情報
既にSHELL変数を設定しているとします
$ echo $SHELL_VAR 12
これを参照しないなら話は簡単。ハードコードで終了。
$ echo "12 hoge fuga" | awk '($1 ~ /^12/) { print "アルヨ〜"}' アルヨ〜
ところが、BEGIN節で変数をキャッチし正規表現中で使おうとすると……駄目です
$ echo "12 hoge fuga" | awk 'BEGIN { var="'"$SHELL_VAR"'" } ($1 ~ /^var/) { print "アルヨ〜"}'
意図通り動かすにはmatch関数を利用します
echo "12 hoge fuga" | awk 'BEGIN { var="'"$SHELL_VAR"'" } (match($1, "^" var)) { print "アルヨ〜"}' アルヨ〜