ファイル内の行:
where so.name ="tblname"
シェル スクリプト変数は次のように設定されています:
for tablename in `cat $TBLNAME.$DBNAM.out`
シェル スクリプトの awk ステートメント:
awk -v xy="$tablename" '=="where"{='\"xy\"'}1' $COLMNAME > tmp2 && mv tmp2 $COLMNAME
awk ステートメントの実行後の出力ファイル内の行:
where so.name = xy
私が欲しいのは:
where so.name = "tbuser"
1
シェル スクリプト全体をコピーしてshellcheck.netに貼り付け、表示される問題を修正する必要があります。
– エド・モートン
2020 年 9 月 3 日 22:54
------------------------
内部の二重引用符を (一重引用符を使用せずに) エスケープする必要があります。
awk -v xy="$tablename" '=="where"{="\""xy"\""}1' file
0