打印文件中行的最后一列

我有一个文件,不断被写入/更新。我想找到包含特定单词的最后一行,然后打印该行的最后一列。

文件看起来像这样。随着时间的推移,将附加更多的A1 / B1 / C1线。

A1 123 456
B1 234 567
C1 345 678
A1 098 766
B1 987 6545
C1 876 5434

我试图使用

tail -f file | grep A1 | awk '{print $NF}'

以打印值766,但不输出任何内容。

有没有办法做到这一点?

你没有看到什么,因为缓冲。当有足够的行或文件结尾到达时,显示输出。 tail -f意味着等待更多的输入,但是在文件中没有更多的行,所以管道到grep永远不会关闭。

如果从尾部省略-f,则会立即显示输出:

tail file | grep A1 | awk '{print $NF}'

@EdMorton当然是对的。 Awk也可以搜索A1,这缩短了命令行

tail file | awk '/A1/ {print $NF}'
http://stackoverflow.com/questions/13046167/printing-the-last-column-of-a-line-in-a-file

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:打印文件中行的最后一列