本文介绍了打印最后匹配的行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用awk
,我要打印文件的最后匹配行.我只想要匹配的行本身,而不想要任何范围的行.我可以使用这样的命令
Using awk
, I would like to print the last matching line of a file.I would like only the matching line itself, not any range of lines.I can use a command like this
awk '/foo/' bar.txt
但是,这将打印所有匹配的行,而不仅仅是最后一行.
However this will print all matching lines, not just the last one.
推荐答案
您可以将值保存在变量中,然后在处理整个文件后将其打印出来:
You can save the value in a variable and then print it after processing the whole file:
awk '/foo/ {a=$0} END{print a}' file
测试
$ cat file
foo1
foo2
foo3
4
5
$ awk '/foo/ {a=$0} END{print a}' file
foo3
这篇关于打印最后匹配的行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!