
Estoy en Ubuntu 16.04
Intentando:
grep '.*' file1
Producción:
file nu-mber o-ne second string
Intentando:grep '.+' file1
La salida está ausente
¿Por qué plus no funciona?
Respuesta1
necesitas decirgrep
estás usando una expresión regular extendida:
grep -E '.+' file1
El estandarExpresión regular básica(como se usa grep
sin -E
) equivalente de laExpresión regular extendida +
Aunque \{1,\}
algunas implementaciones (como la de GNU) también \+
lo reconocen como una extensión (y siempre puedes usar ..*
).
(Tenga en cuenta que en este caso particular grep -E .+
es equivalente a grep -E .
buscar subcadenas que coincidan con la expresión regular cuando no usa la -x
opción. En muchos sistemas egrep
se proporciona como un comando equivalente a grep -E
, pero comoGraeme Señalaesto esobsoleto.)
Respuesta2
Con GNU grep (predeterminado en Ubuntu) también puedes habilitar el comportamiento extendido con una barra invertida. P.ej:
grep '.\+' file1
Respuesta3
Creo que + es un metacarácter de expresión regular extendido. Intenta usar egrep
.