与量词+相比,grep对使用量词*的不同行为的原因是什么?

时间:2014-06-20 13:11:50

标签: regex command-line grep

在Linux命令行上,为什么

echo "aa" | grep a*

按预期工作(返回aa),但

echo "aa" | grep a+

什么都没回来?

2 个答案:

答案 0 :(得分:2)

您可以使用egrep -e PATTERNgrep -E -e PATTERN(请参阅grep man page), 或者像“echo "aa" | grep "\+"

那样在”+“上使用转义

答案 1 :(得分:2)

默认情况下,grep使用basic regular expression+之类的元字符会失去意义,需要转义。

echo "aa" | grep a\+