我有以下文件内容。
2013-07-30 debug
line1
2013-07-30 info
line2
line3
2013-07-30 debug
line4
line5
我想用
sed
获得以下输出。2013-07-30 info
line2
line3
这个命令给了我几乎我想要的输出
sed -n '/info/I,/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}/{p}' myfile.txt
2013-07-30 info
line2
line3
2013-07-30 debug
我如何省略这里的最后一行?
最佳答案
尝试:
sed -n '/info/I p; //,/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}/{ //! p}' myfile.txt
它打印第一个匹配项,并且在范围内省(introspection)略两个边缘,但第一个已经打印,所以只跳过第二个。它产生:
2013-07-30 info
line2
line3
关于bash - 用 sed 省略最后一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17951506/