grep没有给出预期的结果

时间:2014-05-23 06:22:00

标签: unix grep

我无法理解以下grep操作

a=jQuery.Uno
echo $a | grep -i "jquerya*"

为什么以上查询返回jQuery.Uno

1 个答案:

答案 0 :(得分:1)

*量词匹配0(零)或更多。

在字符串中,jQuery.Unoa之后有y。因此,正则表达式jquerya*匹配字符串。

如果你想要一个或多个a,那么请说:

grep -i "jquerya\{1,\}"

或者,如果您的grep版本支持扩展正则表达式:

grep -iE "jquerya+"

此外,如果你的shell支持那些,最好使用herestrings而不是echo "$var" | grep ...

grep -iE "jquerya+" <<< "$a"