GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo suprimir los resultados de coincidencia de archivos binarios en grep

Esta es una vieja pregunta y ha sido respondida, pero pensé en poner la opción --binary-files=text aquí para cualquiera que quiera usarla. La opción -I ignora el archivo binario, pero si desea que grep trate el archivo binario como un archivo de texto, use --binary-files=text así:

bash$ grep -i reset mediaLog*
Binary file mediaLog_dc1.txt matches
bash$ grep --binary-files=text -i reset mediaLog*
mediaLog_dc1.txt:2016-06-29 15:46:02,470 - Media [uploadChunk  ,315] - ERROR - ('Connection aborted.', error(104, 'Connection reset by peer'))
mediaLog_dc1.txt:ConnectionError: ('Connection aborted.', error(104, 'Connection reset by peer'))
bash$

Hay tres opciones que puedes usar. -I es excluir archivos binarios en grep. Otros son para números de línea y nombres de archivos.

grep -I -n -H 


-I -- process a binary file as if it did not contain matching data; 
-n -- prefix each line of output with the 1-based line number within its input file
-H -- print the file name for each match

Así que esta podría ser una forma de ejecutar grep:

grep -InH your-word *

Linux
  1. ¿Cómo eliminar "datos binarios" de un archivo de texto (por ejemplo, Bash_history)?

  2. ¿Cómo buscar en archivos específicos que coincidan con un patrón?

  3. ¿Cómo escribir un entero en un archivo binario usando Bash?

  4. Cómo grep una sección de un archivo en bash Shell

  5. ¿Cómo determinar si un archivo binario de Linux es de 32 bits o de 64 bits?

Cómo encontrar una cadena en un archivo en Linux

Cómo editar archivos binarios en sistemas Unix

¿Cómo recuperar un archivo eliminado en Linux?

Cómo hacer que el comando grep devuelva la línea coincidente completa

¿Cómo puedo obtener un binario de un archivo .py?

Cómo hacer grep para Unicode en un script bash