考虑:
$ echo line1 | awk '1END{ print "line2"}'
line1
line2
请注意1
和END
之间缺少空间。这是标准,还是我实现awk的一个怪癖?将动作与以下地址分开的语法规则是什么?
您可能正在使用旧版本的awk
。在最初的awk
语言中,没有必要在同一行用分号分隔规则。添加它是为了与行动中对陈述的处理保持一致。
我发现了这个:
http://www.gnu.org/software/gawk/manual/html_node/Statements_002fLines.html
这适用于我使用GNU Awk 4.0.1:
$ echo line1 | awk '1; END { print "line2" }'
line1
line2
如果我删除;
,就会出现语法错误。HTH