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