【发布时间】:2019-08-08 18:22:15
【问题描述】:
使用 sed、AWK(或 Perl),如何打印两个模式(第一个实例)之间的所有行,不包括模式?1
即作为输入给出:
aaa
PATTERN1
bbb
ccc
ddd
PATTERN2
eee
甚至可能:
aaa
PATTERN1
bbb
ccc
ddd
PATTERN2
eee
fff
PATTERN1
ggg
hhh
iii
PATTERN2
jjj
我希望,在这两种情况下:
bbb
ccc
ddd
1许多用户投票结束此问题,因为该问题与this 一个重复。最后,我提供了一个gist,证明它们是不同的。这个问题表面上也类似于anumberofothers,但是没有完全匹配,而且没有一个是高质量的,而且,我相信这个具体问题是最常见的面对,它应该有一个清晰的表述,以及一套正确、清晰的答案。
【问题讨论】:
-
关于此的元数据:Can I create this new question or will it be closed as a dupe or otherwise cause controversy?。很奇怪,它没有被标记为How to select lines between two patterns? 的重复项。正如在那篇文章中提到的,这个想法是编译一组选项,为此它被标记为 CW。你说这不是骗人的,因为一个答案不包括一个案例。再写一篇规范对我来说似乎是在浪费时间,而且会导致知识分散。
-
嗯@hek 我在这里留下了我的评论,然后与 Alex、tripee 和我进行了一些有趣的辩论。我现在就把它打开,看看是否能吸引观众。无论如何,我看到我们在不同的地方(还有 Meta)异步地讨论这个话题,所以很难达成共识。
-
@fedorqui 我以某种方式在这里和那里进行了讨论。对我来说,这与您的问题明显重复-这是我的第一个想法,而不受您上面链接的元帖子的影响。我看不出 OP 不应该接受这一点的任何充分理由。