Pregunta ¿No es compatible con las expresiones básicas de grep?


Esto no genera ningún resultado. ¿Cómo?

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

Pero estos hacen:

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

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

74
2017-08-01 16:04


origen


Respuestas:


grepEl modo predeterminado es (iirc) POSIX regex, y \d es pcre. Puedes pasar -P a gnu grep, para expresiones regulares tipo perl, o uso [[:digit:]] en lugar de \d.

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

132
2017-08-01 16:08



Prueba esto $ echo 'this 1 2 3' | grep '[0-9]\+'


15
2017-08-01 16:08