如果我有一个名为' test'字面上的文字:
\<.abc\>
然后运行grep -E 'abc\> | [1-5]' test
,我没有按预期得到任何结果,
但是当我只运行grep -E 'abc\>' test
时,我得到一个匹配!
为什么会这样?
看起来这个问题已经解决,但另外一个后续问题是:
如果我想使用像&#39; abc&gt;&#39;那样的正则表达式并且由于没有结果(因为没有单词以abc结尾),我该怎么做? (我也想保留引号,以便我可以扩展正则表达式。)
答案 0 :(得分:2)
grep -E 'abc\> | [1-5]' test
,我没有按预期得到结果
因为您在|
之前和之后添加了空格,请尝试:
grep -E 'abc\>|[1-5]' test
在这里测试:
kent$ grep -E 'abc\>|[1-5]' <<<'\<.abc\>'
\<.abc\>