【发布时间】:2013-10-29 13:28:06
【问题描述】:
我正在寻找一些带有几行的日志文件,然后从匹配项中丢弃垃圾行。更糟糕的是,愚蠢的代码两次输出相同的异常,所以我想每隔一个 grep 匹配就丢弃。我不知道是否有一种好方法可以跳过所有其他 grep 匹配,同时还包括周围的行,所以我很高兴一次性完成。
假设我们从 grep 得到以下结果:
InterestingContext1
lkjsdf
MatchExceptionText1
--
kjslkj
lskjlk
MatchExceptionText2
--
InterestingContext3
lkjsdf
MatchExceptionText3
--
kjslkj
lskjlk
MatchExceptionText4
--
显然,grep 匹配是“MatchExceptionText”(当然是简化的)。因此,我想将其通过管道传输到可以删除第 2、5、6、7、8 行的地方,然后重复该模式,因此结果如下所示:
InterestingContext1
MatchExceptionText1
--
InterestingContext3
MatchExceptionText3
--
对我来说,重复是事情变得棘手的地方。我知道 sed 可以删除某些行号,但我不知道如何将它们分组为 8 行组并在所有组中重复该剪切。
有什么想法吗?感谢您的帮助。
【问题讨论】: