如何使用egrep用逗号和数字搜索特定模式

时间:2013-11-19 21:37:51

标签: regex unix grep

我有超过百万的文本文件包含类似于下面的行

abc,xyz, =12093|
abc,xyz, =12093, =10998|

第一行很好,但我想找到所有第二行。即我想打印所有作为模式, =<some number> , =<some number>

的行

因此尝试跟随egrep而没有任何运气

egrep -nr ",\s=\d+,\s=\d+" fileFolder

它没有返回任何结果,但我手动检查了它,并且上面提到了许多第二行。

有趣的是,正则表达式在rubular上运行良好 http://rubular.com/r/GYynEEoFm7

有没有人应该使用egrep的正则表达式?

2 个答案:

答案 0 :(得分:4)

grep的正则表达式引擎(ERE)不支持

\d。使用[0-9]

egrep -nr ", =[0-9]+, =[0-9]+" fileFolder

答案 1 :(得分:0)

您也可以使用awk

执行此操作
awk '/[0-9]+,[^0-9]*[0-9]+/' file
or
awk '/[0-9]+, =[0-9]+/' file