Regex 奇怪的格雷普角案?

Regex 奇怪的格雷普角案?,regex,linux,grep,Regex,Linux,Grep,如果我有一个名为“test”的文件,其中包含文字: \<.abc\> \ 然后运行grep-E'abc\>|[1-5]'测试,我没有得到预期的结果 但是当我运行grep-E'abc\>'测试时,我得到了一个匹配 为什么会这样 看起来这个问题已经解决了,但还有一个后续问题: 如果我想使用像“abc>”这样的正则表达式,并且没有结果(因为没有单词以abc结尾),我该怎么做?(我还想保留引号,以便扩展正则表达式) grep-E'abc\>|[1-5]测试,我没有得到预期的结果 由于在

如果我有一个名为“test”的文件,其中包含文字:

\<.abc\>
\
然后运行
grep-E'abc\>|[1-5]'测试
,我没有得到预期的结果

但是当我运行grep-E'abc\>'测试时,我得到了一个匹配

为什么会这样


看起来这个问题已经解决了,但还有一个后续问题:

如果我想使用像“abc>”这样的正则表达式,并且没有结果(因为没有单词以abc结尾),我该怎么做?(我还想保留引号,以便扩展正则表达式)

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

由于在
|
前后添加了空格,请尝试:

 grep -E 'abc\>|[1-5]' test
在此处测试:

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

kent$grep-E'abc\>|[1-5]“太棒了!所以,如果我想使用像“abc\>”这样的正则表达式,并且没有结果(因为没有单词以abc结尾),我该怎么做呢?(我还想保留引号,以便扩展正则表达式)。