El comando egrep es una rama de grep, que le permite especificar expresiones regulares extendidas POSIX, que contienen más caracteres para especificar el patrón coincidente.
egrep busca en uno o más archivos líneas que coincidan con una expresión regular extendida regexp. egrep no es compatible con las expresiones regulares \(,\), \n, \<, \>, \{ o \}, pero sí admite las otras expresiones, así como el conjunto extendido +, ?, |, y ( ). Recuerde encerrar estos caracteres entre comillas. El estado de salida es 0 si alguna línea coincide, 1 si ninguna coincide y 2 si hay errores.
Sintaxis:
# egrep [options] [regexp] [files]
Buscar ocurrencias de Víctor o Victoria en el archivo:
# egrep 'Victor(ia)*' fileegrep '(Victor|Victoria)' file
Busque e imprima cadenas como old.doc1 o new.doc2 en archivos e incluya sus números de línea:
# egrep -n '(old|new)\.doc?' files
Ejemplos de comandos egrep
1. Para interpretar PATRÓN como una expresión regular extendida:
# egrep --extended-regexp PATTERN # egrep -E PATTERN
2. Para interpretar PATRÓN como una lista de cadenas fijas:
# egrep -F PATTERN # egrep --fixed-strings PATTERN
3. Para interpretar PATRÓN como una expresión regular básica:
# egrep -G PATTERN # egrep --basic-regexp PATTERN
4. Para interpretar PATTERN como una expresión regular de Perl:
# egrep -P PATTERN # egrep --perl-regexp PATTERN
5. Para usar PATRÓN como patrón:
# egrep -e PATTERN, # egrep --regexp=PATTERN
6. Para obtener patrones de ARCHIVO, uno por línea:
# egrep -f FILE, --file=FILE
7. Para ignorar las distinciones entre mayúsculas y minúsculas tanto en el PATRÓN como en los archivos de entrada:
# egrep -i PATTERN # egrep --ignore-case PATTERN
8. Para invertir el sentido de coincidencia, para seleccionar líneas que no coincidan:
# egrep -v PATTERN # egrep --invert-match PATTERN
9. Para seleccionar solo aquellas líneas que contengan coincidencias que formen palabras completas:
# egrep -w PATTERN # egrep --word-regexp PATTERN
10. Para seleccionar solo aquellas coincidencias que coincidan exactamente con toda la línea:
# egrep -x PATTERN # egrep --line-regexp PATTERN
11. Para ignorar el caso:
# egrep -y PATTERN
12. Para suprimir la salida normal; en su lugar, imprima un recuento de líneas coincidentes:
# egrep -c PATTERN # egrep --count PATTERN
13. Para mostrar en color:
# egrep --color PATTERN
14. Para suprimir la salida normal; en su lugar, imprima el nombre de cada archivo de entrada, desde fuera no se esperará:
# egrep -L # egrep --files-without-match
15. Para suprimir la salida normal; en su lugar, imprima el nombre de cada archivo de entrada desde el que se imprimió la salida:
# egrep -l # egrep --files-with-matches
16. A la quietud; no escriba nada en la salida estándar Salga inmediatamente con estado cero si se encuentra alguna coincidencia:
# egrep -q # egrep --quiet # egrep --silent
17. Para dejar de leer un archivo después de NUM líneas coincidentes:
# egrep -m NUM # egrep --max-count=NUM
18. Para imprimir solo las partes coincidentes (no vacías) de una línea coincidente:
# egrep -o PATTERN # egrep --only-matching PATTERN
19. Para suprimir mensajes de error sobre archivos inexistentes o ilegibles:
# egrep -s PATTERN # egrep --no-messages PATTERN
20. Para imprimir el desplazamiento de bytes basado en 0 dentro del archivo de entrada antes de cada línea de salida:
# egrep -b PATTERN # egrep --byte-offset PATTERN
21. Para imprimir el nombre del archivo para cada coincidencia:
# egrep -H PATTERN # egrep --with-filename PATTERN
22. Para suprimir los prefijos de nombres de archivo en la salida:
# egrep -h PATTERN # egrep --no-filename PATTERN
23. Para mostrar la entrada que realmente proviene de la entrada estándar como entrada proveniente del archivo LABEL:
# egrep -cd PATTERN | egrep --label=mysearch -H PATTERN
24. Para prefijar cada línea de salida con el número de línea basado en 1 dentro de su archivo de entrada:
# egrep -n PATTERN # egrep --line-number PATTERN
25. Para asegurarse de que el primer carácter del contenido real de la línea esté en una tabulación:
# egrep -T PATTERN # egrep --initial-tab PATTERN
26. Para reportar compensaciones de bytes estilo Unix:
# egrep -u PATTERN # egrep --unix-byte-offsets PATTERN
27. Para generar un byte cero en lugar del carácter que normalmente sigue a un nombre de archivo:
# egrep -Z PATTERN # egrep --null PATTERN
28. Para imprimir NUM líneas de contexto final después de las líneas coincidentes:
# egrep -A NUM PATTERN # egrep --after-context=NUM PATTERN
29. Para imprimir NUM líneas de contexto inicial antes de las líneas coincidentes:
# egrep -B NUM PATTERN # egrep --before-context=NUM PATTERN
30. Para imprimir NUM líneas de contexto de salida:
# egrep -C NUM PATTERN # egrep --context=NUM PATTERN
31. Para procesar un archivo binario como si fuera texto:
# egrep -a PATTERN /tmp/bin # egrep -text PATTERN /tmp/bin
32. Suponer que el archivo es de tipo TYPE:
# egrep --binary-files=TYPE PATTERN
33. Para Si un archivo de entrada es un dispositivo, FIFO o socket, use ACCIÓN para procesarlo:
# egrep -D ACTION PATTERN # egrep --devices=ACTION PATTERN
34. Para Si un archivo de entrada es un directorio, use ACCIÓN para procesarlo:
# egrep -d ACTION PATTERN # egrep --directories=ACTION PATTERN
35. Para omitir archivos cuyo nombre base coincida con GLOB:
# egrep --exclude=GLOB PATTERN
36. Para omitir archivos cuyo nombre base coincida con cualquiera de los globos de nombre de archivo leídos de ARCHIVO:
# egrep --exclude-from=FILE PATTERN
37. Para excluir directorios que coincidan con el patrón DIR de búsquedas recursivas:
# egrep --exclude-dir=DIR PATTERN
38. Para procesar un archivo binario como si no contuviera datos coincidentes:
# egrep -I PATTERN
39. Para buscar solo archivos cuyo nombre base coincida con GLOB:
# egrep --include=GLOB PATTERN
40. Para leer todos los archivos de cada directorio, recursivamente:
# egrep -r PATTERN # egrep -R PATTERN
41. Para usar el búfer de línea en la salida:
# egrep --line-buffered PATTERN
42. Si es posible, use la llamada del sistema mmap para leer la entrada, en lugar de la lectura predeterminada:
# egrep --mmap PATTERN
43. Para tratar los archivos como binarios:
# egrep -U /tmp/file PATTERN # egrep --binary /tmp/file PATTERN
44. Para tratar la entrada como un conjunto de líneas:
# egrep -z PATTERN # egrep --null-data PATTERN
45. Para mostrar la ayuda:
# egrep -h
46. Para imprimir el número de versión del grep:
# egrep -V