line=catsanddogs;awk -v var="$line" RS= '$3=="`var`"' master_file.sql > jaylog
awk: cmd. line:1: RS=
awk: cmd. line:1: ^ unexpected newline or end of string
我正在尝试将变量合并到此语句中,但是无法使语法正常工作。
以下内容当然可以正常工作:
awk -v RS= '$3=="`catsanddogs`"' master_file.sql > jaylog
有两个问题。
首先,由于您没有-v
在变量赋值之前使用该选项,因此awk
认为该参数RS=
是脚本,但这不是有效的awk
脚本。
其次,awk
不要在带引号的字符串中扩展变量,而是按字面意义对待它们。您需要将var
变量连接到反引号字符串,而不是将其放在字符串中。
awk -v var="$line" -v RS= '$3=="`" var "`"' master_file.sql > jaylog
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句