我想找到按顺序包含“abc”和“efg”的文件,并且这两个字符串位于该文件中的不同行。例如:一个包含内容的文件:
blah blah..
blah blah..
blah abc blah
blah blah..
blah blah..
blah blah..
blah efg blah blah
blah blah..
blah blah..
应该是匹配的。
对于此操作,Grep 是一个笨拙的工具。
pcregrep在大多数现代 Linux 系统中都可以找到它,可以用作
pcregrep -M 'abc.*(\n|.)*efg' test.txt
where -M
, --multiline
允许模式匹配多行
有一个较新的PCRE2grep还。两者均由PCRE项目.
pcre2grep 可用于 Mac OS X,通过Mac 端口作为港口的一部分pcre2
:
% sudo port install pcre2
and via Homebrew as:
% brew install pcre
或用于 PCR2
% brew install pcre2
PCRE2GREP 是也提供在 Linux 上(Ubuntu 18.04+)
$ sudo apt install pcre2-utils # PCRE2
$ sudo apt install pcregrep # Older PCRE
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)