如何在最后一次出现字符串之前删除所有行.就像我有一个看起来像的文件一样
Icecream is good And Chocolate is good And They have lots of sugar
如果我希望所有行之后包括最后一次出现的"And",那么最干净的方法是什么?具体来说,我想要
And
They have lots of sugar
Run Code Online (Sandbox Code Playgroud)
我在做,sed -n -E -e '/And/,$p' file但我看到这给了我第一次.
这可能适合你(GNU sed):
sed -n '/And/h;//!H;$!d;x;//p' file
Run Code Online (Sandbox Code Playgroud)
用包含的行替换保留空间中的任何内容And.将所有其他行追加到保留空间.在文件末尾,交换保留空间的模式空间,并在结果与所需字符串匹配时打印出结果And.