grep的基本表达式不支持\ d吗?

这不会产生任何输出。怎么来的?

$ echo 'this 1 2 3' | grep '\d\+'

但是这些可以做到:

$ echo 'this 1 2 3' | grep '\s\+'

this 1 2 3

$ echo 'this 1 2 3' | grep '\w\+'

this 1 2 3

回答:

grep的默认模式是(iirc)POSIX正则表达式,并且\d是pcre。您可以传递-P给gnu

grep,以获得类似perl的正则表达式,也可以使用[[:digit:]]代替\d

daenyth@Bragi ~ $ echo 1 | grep -P '\d'

1

daenyth@Bragi ~ $ echo 1 | grep '[[:digit:]]'

1

以上是 grep的基本表达式不支持\ d吗? 的全部内容, 来源链接: utcz.com/qa/407107.html

回到顶部