如何在 egrep 中使用受限字符?

bla*_*arg 3 grep centos regular-expression

我正在尝试在 Centos 5.10 上的 egrep 中使用正则表达式,基于我在 SO 上的这个问题所做的一个。

T12345 .{1,100}[\n\r].{1,100}2014.03.04
Run Code Online (Sandbox Code Playgroud)

我可以成功地将正则表达式与浏览器中的内容匹配,但是当我在 egrep 中尝试它时,即使我的目录中有多个匹配项,也不会返回任何内容。

在这里工作正则表达式示例

这是我正在使用的 egrep。

egrep -l "T12345 .{1,100}[\n\r].{1,100}2014.03.04" logfiles_*.txt
Run Code Online (Sandbox Code Playgroud)

据我所知,我没有正确转义受限制的字符,但我尝试过的任何东西似乎都不起作用。我如何调整这个正则表达式以在 egrep 中使用?

dev*_*ull 9

grep匹配输入。如果要匹配多行,请使用其他实用程序。例如,使用pcregrep

pcregrep -M "T12345 .{1,100}[\n\r].{1,100}2014.03.04" filename
Run Code Online (Sandbox Code Playgroud)

这将产生:

31/01/2014 11:15:40 |  Bla Bla Bla Bla T12345 Bla Bla Bla
31/01/2014 11:15:40 | Bla Bla Bla 2014/03/04 Bla Bla Bla
Run Code Online (Sandbox Code Playgroud)

供您输入。