无法在grep regex语法中使用“ +”

英雄6

我在Ubuntu 16.04上

试: grep '.*' file1

输出: file nu-mber o-ne second string

试: grep '.+' file1

输出不存在

为什么加号不起作用?

斯蒂芬·基特

您需要告诉grep您正在使用扩展的正则表达式:

grep -E '.+' file1

尽管某些实现(例如GNU的实现)也扩展正则表达式运算符的标准基本正则表达式grep不带-E)使用等效为扩展(并且您可以始终使用)。 +\{1,\}\+..*

(请注意,在这种特定情况下,这grep -E .+等同于grep -E .您在不使用该-x选项时正在寻找与正则表达式匹配的子字符串。在许多系统egrep上,它作为的等效命令提供grep -E,但正如Graeme 指出的那样,这已过时了。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章