perl – 从最后一次出现的模式打印出所有行的简单而快速的UNIX命令?

前端之家收集整理的这篇文章主要介绍了perl – 从最后一次出现的模式打印出所有行的简单而快速的UNIX命令?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
哪个是简单而快速的UNIX命令,可以将最后一次出现的模式的所有行打印到文件的末尾?
sed -n '/pattern/,$p' file

这个sed命令从第一次发生开始.

解决方法

这可能适用于您(GNU sed):
sed 'H;/pattern/h;$!d;x;//!d' file

将最后一个模式和最后一个模式保留下来,并在文件末尾打印出来.

或者在awk中使用相同的方法

awk '{x=x ORS $0};/pattern/{x=$0};END{if(x ~ //)print x}' file

然而在我的机器上jaypals方式与sed似乎是最快的:

tac file | sed '/pattern/q' | tac

猜你在找的Perl相关文章