我有一个不断写入/更新的文件。我想找到包含特定单词的最后一行,然后打印该行的最后一列。
这个文件看起来像这样。随着时间的推移,将向其追加更多的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,但不会输出任何内容。
有没有办法做到这一点?
发布于 2017-04-06 04:20:28
要打印一行的最后一列,只需使用$(NF):
awk '{print $(NF)}'
发布于 2012-10-24 18:13:13
使用awk
的一种方式
tail -f file.txt | awk '/A1/ { print $NF }'
发布于 2012-10-24 17:22:18
您可以在没有awk的情况下使用一些管道来完成此操作。
tac file | grep -m1 A1 | rev | cut -d' ' -f1 | rev
https://stackoverflow.com/questions/13046167
复制相似问题