我找到了一些方法来传递外部shell变量到awk脚本,但我对“和”感到困惑。
首先,我尝试了一个shell脚本:
$ v=123test
$ echo $v
123test
$ echo "$v"
123test
然后试试awk:
$ awk 'BEGIN{print "'$v'"}'
$ 123test
$ awk 'BEGIN{print '"$v"'}'
$ 123
为什么会有这样的区别呢?
最后我尝试了这个:
$ awk 'BEGIN{print " '$v' "}'
$ 123test
$ awk 'BEGIN{print ' "$v" '}'
awk: cmd. line:1: BEGIN{print
awk: cmd. line:1: ^ unexpected newline or end of string
我对此感到困惑。