小编BoJ*_*man的帖子

为什么我的 grep -E 命令不适用于包含后视的正则表达式模式?

我有一个适合我的正则表达式。我在以下网站上检查过:https : //www.regex101.com/

(?<=.log:)[^;]*
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我尝试将它与 grep 一起使用时它不起作用。我试图做以下事情:

cat foo.log | grep -E '(?<=.log:)[^;]*'
Run Code Online (Sandbox Code Playgroud)

我知道有匹配项,因为我在此模式之后创建并测试了我的正则表达式。-E 参数也有效,因为正则表达式*.*工作正常。

以下是我的目标文件中的一些示例行:

201407010300.log:2014-07-01 03:00;10.112.64.250;2;1145439;ULC IBM
201407010100.log:2014-07-01 01:00;10.112.64.250;2;1145216;ULC IBM
201407010100.log:2014-07-01 01:00;10.112.64.250;3;968549;ULC Primeline
Run Code Online (Sandbox Code Playgroud)

你有什么建议为什么这不起作用?

regex grep

1
推荐指数
1
解决办法
316
查看次数

标签 统计

grep ×1

regex ×1