为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用grep跨多行查找模式?

如何使用grep跨多行查找模式?

元芳怎么了 2019-06-27 17:13:10
如何使用grep跨多行查找模式?我想找到按顺序包含“abc”和“EFG”的文件,这两个字符串位于文件中的不同行上。有内容的文件:blah blah..blah blah..blah abc blah blah blah..blah blah..blah blah..blah efg blah blah blah blah..blah blah..应该是匹配的。
查看完整描述

3 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

grep不足以执行此操作。

皱褶在大多数现代linux系统中都可以使用

pcregrep -M  'abc.*(\n|.)*efg' test.txt

其中-m,-多行允许模式匹配多行。

有一个新的pcre2grep还有。两者均由PCRE项目.

pcre2grep可用于MacOSX麦克港作为港口的一部分pcre2:

% sudo port install pcre2

通过自制作为:

% brew install pcre

或用于港口2

% brew install pcre2


查看完整回答
反对 回复 2019-06-27
?
ibeautiful

TA贡献1993条经验 获得超5个赞

我不确定grep是否可行,但是sed使它变得非常简单:

sed -e '/abc/,/efg/!d' [file-with-content]


查看完整回答
反对 回复 2019-06-27
  • 3 回答
  • 0 关注
  • 2419 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信