Cシェルスクリプトでbbbをawk subに渡そうとしても動作しないようです。
#!/bin/csh
set aaa=a
set bbb=b
#And I'm using it in awk sub
set ccc=`echo $aaa | awk '{sub("a",$bbb); print $0}'`
echo $ccc
しかし、エゴリは空虚で、理由はわかりません。
$ bbbを "b"に置き換えると正常に動作します。
答え1
シェル変数をに渡す必要がありますawk
。
set ccc=`echo $aaa | awk -v bb=$bbb '{sub("a",bb); print $0}'`
awk
シェル変数を参照するときは、参照を閉じて再度開きます。
set ccc=`echo $aaa | awk '{sub("a",'$bbb'); print $0}'`