问题描述
文件中的行:
where so.name ="tblname"
shell脚本变量设置为:
for tablename in `cat $TBLNAME.$dbnAM.out`
Shell脚本中的 awk
语句:
awk -v xy="$tablename" '$1=="where"{$4='\"xy\"'}1' $COLMNAME > tmp2 && mv tmp2 $COLMNAME
where so.name = xy
我想要的是:
where so.name = "tbuser"
解决方法
您必须在其中转义双引号(不使用单引号)。
awk -v xy="$tablename" '$1=="where"{$4="\""xy"\""}1' file