gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:36:14 25 4
gpt4 key购买 nike

我想查找按顺序包含“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

其中 -M--multiline 允许模式匹配多行

有一个较新的 pcre2grep还。两者均由 PCRE project 提供.

pcre2grep 可通过 Mac Ports 适用于 Mac OS X作为端口 pcre2 的一部分:

% sudo port install pcre2 

并通过 Homebrew如:

% brew install pcre

或用于 PCRE2

% brew install pcre2

pcre2grep 是 also available在 Linux 上(Ubuntu 18.04+)

$ sudo apt install pcre2-utils # PCRE2
$ sudo apt install pcregrep # Older PCRE

关于regex - 如何使用 grep 跨多行查找模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2686147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com