Esto no genera ninguna salida. ¿Cómo?
$ echo 'this 1 2 3' | grep '\d\+'
Pero estos lo hacen:
$ echo 'this 1 2 3' | grep '\s\+'
this 1 2 3
$ echo 'this 1 2 3' | grep '\w\+'
this 1 2 3
2
Ninguno de esos funciona para mí (Solaris).
—
Spraff
Yo tampoco. (Cygwin) ¿Querías tener
—
Eric Wilson
\+
? Qué significa eso?
sí, estoy en Ubuntu 10.04, usando bash. Para BRE en grep, debe escapar algunos caracteres. Pruebe "Expresiones regulares básicas vs extendidas" en man grep.
—
Ankur Agarwal
@FarmBoy:
—
Daenyth
+
en una expresión regular significa "uno o más de los tokens anteriores". En este caso, se escapa porque esa es la sintaxis requerida por grep
el motor de expresiones regulares predeterminado.
@FarmBoy:
—
Keith Thompson
+
debe escaparse si está usando grep
; si está usando egrep
, no lo hace. grep -E
es equivalente a egrep
(al menos para la versión GNU).