奇怪的grep角落案例?

时间:2014-05-07 22:24:32

标签: regex linux grep

如果我有一个名为' test'字面上的文字:

\<.abc\>

然后运行grep -E 'abc\> | [1-5]' test,我没有按预期得到任何结果,

但是当我只运行grep -E 'abc\>' test时,我得到一个匹配!

为什么会这样?


看起来这个问题已经解决,但另外一个后续问题是:

如果我想使用像&#39; abc&gt;&#39;那样的正则表达式并且由于没有结果(因为没有单词以abc结尾),我该怎么做? (我也想保留引号,以便我可以扩展正则表达式。)

1 个答案:

答案 0 :(得分:2)

  

grep -E 'abc\> | [1-5]' test,我没有按预期得到结果

因为您在|之前和之后添加了空格,请尝试:

 grep -E 'abc\>|[1-5]' test

在这里测试:

kent$  grep -E 'abc\>|[1-5]' <<<'\<.abc\>'  
\<.abc\>