我正在寻找有"aaa"one_answers";bbb"按此顺序,并且这些字符串位于不同的行。
11 aaa blah blah
bbb blah blah
blah blah blah blah
aaa blah blah blah blah
blah blah blah blah
11 bbb blah blah
blah blah blah blah
使用这个多行模式.*?(.|n)*?
,我得到字符串之间的所有行:
11 aaa blah blah
bbb blah blah
aaa blah blah blah blah
blah blah blah blah
11 bbb blah blah
但是我需要匹配它们,只有当它们彼此跟随时。例如:aaa在第一行,bbb在第二行。输出应该是:
11 aaa blah blah
bbb blah blah
可以使用
pcregrep -Mo '.*aaa.*R.*bb.*' file
M
选项允许pcregrep
"看到";将换行符与正则表达式进行匹配,o
将输出匹配的文本。
模式匹配
.*aaa.*
-包含aaa
的一行R
-换行.*bbb.*
-包含bbb
的一行