是否在AWK的END块中定义了字段?

时间:2016-08-01 12:16:25

标签: bash variables awk gawk

$1区块中使用$2END ...时会发生什么,例如:

awk '{print $3}END{print $1 $2}'

我发现$1$2保留了最后一条记录中的值。这种行为是由标准保证还是特定于实现?

1 个答案:

答案 0 :(得分:8)

检查docs我们发现它是特定于实施

  

传统上,主要由于实施问题,0美元和NF是   在END规则中未定义。 POSIX标准规定NF是   在END规则中可用。它包含来自的字段数   最后输入记录。最可能是由于监督,标准   并没有说$ 0也被保留,虽然逻辑上可以   认为它应该是。事实上,所有BWK都是awk,mawk和gawk   保留$ 0的值以用于END规则。 但请注意   其他一些实现和许多旧版本的Unix awk都没有

相关问题