使用时会发生什么$1
, $2
... 在里面END
块,如:
awk '{print $3}END{print $1 $2}'
我找到$1
and $2
保留最后一条记录的值。这种行为是由标准保证的还是特定于实现的?
检查docs https://www.gnu.org/software/gawk/manual/html_node/I_002fO-And-BEGIN_002fEND.html#I_002fO-And-BEGIN_002fEND我们看到它是特定于实现的:
传统上,主要由于实施问题,$0 和 NF 被
END 规则内未定义。 POSIX 标准规定 NF 是
在 END 规则中可用。它包含来自
最后输入记录。很可能是由于疏忽,标准
并没有说 $0 也被保留,尽管从逻辑上讲
认为应该如此。事实上,所有 BWK awk、mawk 和 gawk
保留 $0 的值以供在 END 规则中使用。但请注意,
一些其他实现和许多旧版本的 Unix awk 没有.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)