AWK-打印每行输入文件的最后一个字段

时间:2013-03-27 02:54:11

标签: awk field

我有一个输入文件文件,其内容不断更新 有多个字段,我想要打印到一个新文件 每行输入文件的最后一个字段的下一个字段: awk'{print $(NF-1)}'outputfile

错误: 和 awk:(FILENAME = - FNR = 2)致命:尝试访问字段-1

需要帮助。提前致谢

3 个答案:

答案 0 :(得分:6)

在没有字段的行(空行或所有空格)上NF为0,因此评估为$(-1)。此外,如果只有一个字段,您的代码将打印$0,这可能不是您想要的。

awk 'NF>=2 {print $(NF-1)}'

答案 1 :(得分:3)

应为awk 'NF > 1 { print $(NF - 1); }'

awk 'NF { print $(NF - 1) }'不正确。当NF == 1它会打印$0时,在最后一个字段旁边

答案 2 :(得分:-1)

另一个awk线:(打高尔夫球):

awk 'NF>1&&$0=$(NF-1)'