使用awk或sed如何选择两种不同标记图案之间的线条?可能有多个标有这些图案的部分.
例如:假设文件包含:
abc
def1
ghi1
jkl1
mno
abc
def2
ghi2
jkl2
mno
pqr
stu
Run Code Online (Sandbox Code Playgroud)
并且起始模式是abc和结束模式是mno
So,我需要输出为:
def1
ghi1
jkl1
def2
ghi2
jkl2
Run Code Online (Sandbox Code Playgroud)
我使用sed匹配模式一次:
sed -e '1,/abc/d' -e '/mno/,$d' <FILE>
Run Code Online (Sandbox Code Playgroud)
有没有办法在sed或awk 反复做,直到文件的结尾?
我有类似下面的文件,我想打印给定的两个模式之间的界限PAT1和PAT2.
1
2
PAT1
3 - first block
4
PAT2
5
6
PAT1
7 - second block
PAT2
8
9
PAT1
10 - third block
Run Code Online (Sandbox Code Playgroud)
我已经阅读了如何选择两个标记图案之间的线条,这些线条可能会出现awk/sed多次,但我很想看到所有可能的组合,无论是否打印图案.
如何选择两种模式之间的线?
使用sed,AWK(或Perl),如何打印两个模式(第一个实例)之间的所有行(不包括模式)?1个
也就是说,作为输入给出:
aaa
PATTERN1
bbb
ccc
ddd
PATTERN2
eee
Run Code Online (Sandbox Code Playgroud)
甚至可能:
aaa
PATTERN1
bbb
ccc
ddd
PATTERN2
eee
fff
PATTERN1
ggg
hhh
iii
PATTERN2
jjj
Run Code Online (Sandbox Code Playgroud)
在两种情况下,我都希望:
bbb
ccc
ddd
Run Code Online (Sandbox Code Playgroud)
1张 用户的数投票决定关闭这个问题进行重复此一个。最后,我提供了要点,以证明它们是不同的。问题还在于表面上类似于一个 号码 的 人,但没有精确匹配,和他们都不是高质量的,并且,因为我相信这一特定问题是最常见面临的一个,那么它理应明确的提法,以及一组正确,清晰的答案。