Estoy tratando de entender la diferencia entre grep -ey grep -E. Ahora de grep manpagetengo:
-E, --extended-regexp
Interpreta PATTERN como una expresión regular extendida (ver más abajo).
-e PATRÓN, --regexp = PATRÓN
Use PATTERN como patrón; útil para proteger patrones que comienzan con -
La explicación anterior no tiene sentido para mí.
Entonces, ¿puede alguien explicarme usando examplescuál es la diferencia entre los dos y cuándo usar qué opción?
PS: Versión: grep (GNU grep) 2.10

-ees realmente desambiguar cuando una expresión regular comienza con un guión. Entoncesgrep ---foodaunrecognized option: ---foopero puedes decirgrep -e ---foogrep para la expresión regular---foo.Respuestas:
-ees estrictamente la bandera para indicar el patrón con el que desea hacer coincidir.-Econtrola si necesita escapar de ciertos caracteres especiales.man greplo explica-Eun poco más:fuente
echo "hello" | grep -o -e 'h|l'obtengo salida porque|perdió su significado especial y cuando lo hagoecho "hello" | grep -o -E 'h|l', obtengo la salida deseada.echo "hello" | grep -o -e 'h' -e 'l'funcionará si quieres tirar la-Ebasura en este caso.grep -e -o 'h|l'coincidirá literalmenteh|lmientrasgrep -e -o 'h\|l'que coincidiráholcon -E es todo lo contrarioTambién
grep -epermite utilizar varias cadenas para buscar:'grep -e 'abc' -e 'def' -e '123'buscará las tres cadenas:abcasí comodefy123.Esto funciona de manera bastante similar a
grep 'abc\|def\|123'donde se\|encuentra,orpero podría ser un poco más claro de leer.Como los hechos más importantes
grep -Eya se explican aquí, solo quiero agregar lo que resumí sobre este tema en una pregunta bastante similar: Expresión regular para encontrar caracteres dobles en Bashfuente
/extendido
Entonces, una vez más.
fuente
(,),|etc necesidad de ser escapados a tener su significado especial en expresión regular básica, pero no en extendido (donde tienen que estar escapó a ser tratado como un literal de cadena)Solo para elaborar sobre la
-eopción.-ea menudo es opcional:es idéntico a
a menos que, como se indicó en una Respuesta anterior y en las páginas del manual, haya múltiples patrones de búsqueda, o para proteger un patrón que comience con un guión (-).
fuente