我有一个shell脚本构造一个awk程序作为一个字符串,然后将该字符串传递给awk。这是因为我想在awk程序中使用shell变量的值。如何预先构建awk语句以在命令行上传递给awk?
我的代码如下所示:
awk_prog="'{if (\$4~/$shell_var/) print \$1,\$2}'"
echo $awk_prog
awk $awk_prog $FILENAME
然而,当我把这个字符串传给awk中,我总是得到错误:
'{if ($4~/regex/) print $1,$2}'
awk: '{if
awk:^invalid char ''' in expression
是什么错误讯息?我试过-F:开关,但它没有帮助。我怎样才能解决这个问题?
谢谢。