[linux] \ d는 grep의 기본 표현식에서 지원되지 않습니까?

이것은 출력을 생성하지 않습니다. 어째서?

$ 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펄 같은 regexps ‘에 대한, GNU 그렙에, 또는 사용하는 [[:digit:]]대신 \d.

daenyth@Bragi ~ $ echo 1 | grep -P '\d'
1
daenyth@Bragi ~ $ echo 1 | grep '[[:digit:]]'
1


답변

이 시도 $ echo 'this 1 2 3' | grep '[0-9]\+'


답변