GNU/Linux >> Tutoriales Linux >  >> Linux

Ejemplos de comandos grep en Linux (Hoja de trucos)

A menudo, en un archivo grande, debe buscar una línea específica de datos oculta en algún lugar en el medio del archivo. En lugar de desplazarse manualmente por todo el archivo, puede dejar que el comando grep lo busque. El formato de la línea de comandos para el comando grep es:

# grep [options] pattern [file]

El comando grep busca en la entrada o en el archivo que especifique líneas que contengan caracteres que coincidan con el patrón especificado. La salida de grep son las líneas que contienen el patrón coincidente. Debido a la popularidad del comando grep, ha sufrido muchos cambios de desarrollo a lo largo de su vida. Se han agregado muchas funciones al comando grep. Si busca en las páginas del manual el comando grep, verá lo versátil que es.

Si desea invertir la búsqueda (líneas de salida que no coinciden con el patrón), use el parámetro -v:

$ grep -v t file1
one
four
five
$

Si necesita encontrar los números de línea donde se encuentran los patrones coincidentes, use el parámetro -n:

$ grep -n t file1
2:two
3:three
$

Si solo necesita ver un recuento de cuántas líneas contienen el patrón coincidente, use el parámetro -c:

$ grep -c t file1
2
$

Si necesita especificar más de un patrón coincidente, use el parámetro -e para especificar cada patrón individual:

$ grep -e t -e f file1
two
three
four
five
$

Ejemplos de comandos grep

1. Para interpretar PATRÓN como una expresión regular extendida:

# grep --extended-regexp PATTERN
# grep -E PATTERN 

2. Para interpretar PATRÓN como una lista de cadenas fijas:

# grep -F PATTERN
# grep --fixed-strings PATTERN 

3. Para interpretar PATRÓN como una expresión regular básica:

# grep -G PATTERN
# grep --basic-regexp PATTERN 

4. Para interpretar PATTERN como una expresión regular de Perl:

# grep -P PATTERN
# grep --perl-regexp PATTERN 

5. Para usar PATRÓN como patrón:

# grep -e PATTERN, 
# grep --regexp=PATTERN 

6. Para obtener patrones de ARCHIVO, uno por línea:

# grep -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:

# grep -i PATTERN
# grep --ignore-case PATTERN

8. Para invertir el sentido de coincidencia, para seleccionar líneas que no coincidan:

# grep -v PATTERN
# grep --invert-match PATTERN 

9. Para seleccionar solo aquellas líneas que contengan coincidencias que formen palabras completas:

# grep -w PATTERN
# grep --word-regexp PATTERN

10. Para seleccionar solo aquellas coincidencias que coincidan exactamente con toda la línea:

# grep -x PATTERN
# grep --line-regexp PATTERN 

11. Para ignorar el caso:

# grep -y PATTERN 

12. Para suprimir la salida normal; en su lugar, imprima un recuento de líneas coincidentes:

# grep -c PATTERN
# grep --count PATTERN 

13. Para mostrar en color:

# grep --color PATTERN 

14. Para suprimir la salida normal; en su lugar, imprima el nombre de cada archivo de entrada, desde fuera no se esperará:

# grep -L
# grep --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:

# grep -l
# grep --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:

# grep -q 
# grep --quiet
# grep --silent 

17. Para dejar de leer un archivo después de NUM líneas coincidentes:

# grep -m NUM
# grep --max-count=NUM 

18. Para imprimir solo las partes coincidentes (no vacías) de una línea coincidente:

# grep -o PATTERN
# grep --only-matching PATTERN 

19. Para suprimir mensajes de error sobre archivos inexistentes o ilegibles:

# grep -s PATTERN
# grep --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:

# grep -b PATTERN
# grep --byte-offset PATTERN 

21. Para imprimir el nombre del archivo para cada coincidencia:

# grep -H PATTERN
# grep --with-filename PATTERN

22. Para suprimir los prefijos de nombres de archivo en la salida:

# grep -h PATTERN
# grep --no-filename PATTERN 

23. Para mostrar la entrada que realmente proviene de la entrada estándar como entrada proveniente del archivo LABEL:

# grep -cd PATTERN | grep --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:

# grep -n PATTERN
# grep --line-number PATTERN 

25. Para asegurarse de que el primer carácter del contenido real de la línea esté en una tabulación:

# grep -T PATTERN
# grep --initial-tab PATTERN 

26. Para reportar compensaciones de bytes estilo Unix:

# grep -u PATTERN
# grep --unix-byte-offsets PATTERN 

27. Para generar un byte cero en lugar del carácter que normalmente sigue a un nombre de archivo:

# grep -Z PATTERN
# grep --null PATTERN

28. Para imprimir NUM líneas de contexto final después de las líneas coincidentes:

# grep -A NUM PATTERN
# grep --after-context=NUM PATTERN 

29. Para imprimir NUM líneas de contexto inicial antes de las líneas coincidentes:

# grep -B NUM PATTERN
# grep --before-context=NUM PATTERN 

30. Para imprimir NUM líneas de contexto de salida:

# grep -C NUM PATTERN
# grep --context=NUM PATTERN 

31. Para procesar un archivo binario como si fuera texto:

# grep -a PATTERN /tmp/bin
# grep -text PATTERN /tmp/bin 

32. Suponer que el archivo es de tipo TYPE:

# grep --binary-files=TYPE PATTERN 

33. Para Si un archivo de entrada es un dispositivo, FIFO o socket, use ACCIÓN para procesarlo:

# grep -D ACTION PATTERN
# grep --devices=ACTION PATTERN 

34. Para Si un archivo de entrada es un directorio, use ACCIÓN para procesarlo:

# grep -d ACTION PATTERN
# grep --directories=ACTION PATTERN 

35. Para omitir archivos cuyo nombre base coincida con GLOB:

# grep --exclude=GLOB PATTERN 

36. Para omitir archivos cuyo nombre base coincida con cualquiera de los globos de nombre de archivo leídos de ARCHIVO:

# grep --exclude-from=FILE PATTERN 

37. Para excluir directorios que coincidan con el patrón DIR de búsquedas recursivas:

# grep --exclude-dir=DIR PATTERN

38. Para procesar un archivo binario como si no contuviera datos coincidentes:

# grep -I PATTERN

39. Para buscar solo archivos cuyo nombre base coincida con GLOB:

# grep --include=GLOB 

40. Para leer todos los archivos de cada directorio, recursivamente:

# grep -r PATTERN
# grep -R PATTERN 

41. Para usar el búfer de línea en la salida:

# grep --line-buffered PATTERN 

42. Si es posible, use la llamada del sistema mmap para leer la entrada, en lugar de la lectura predeterminada:

# grep --mmap PATTERN 

43. Para tratar los archivos como binarios:

# grep -U /tmp/file PATTERN
# grep --binary /tmp/file PATTERN 

44. Para tratar la entrada como un conjunto de líneas:

# grep -z PATTERN
# grep --null-data PATTERN 

45. Para mostrar la ayuda:

# grep -h 

46. ​​Para imprimir el número de versión del grep:

# grep -V 


Linux
  1. 7 ejemplos de comandos Linux df

  2. 8 ejemplos de comandos TR de Linux

  3. Ejemplos de comandos de conexión iSCSI (hoja de referencia)

  4. Ejemplos de comandos rm en Linux

  5. Ejemplos de comandos ps en Linux

14 ejemplos de comandos Grep en Linux

Cómo usar el comando Grep en Linux + Ejemplos útiles de Grep

15 ejemplos del uso del comando Grep en Linux

Comando Grep en Linux (con ejemplos)

15 ejemplos prácticos de comandos Grep en Linux / UNIX

Ejemplos de comandos id en Linux