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

Resuelto RandyTek asked hace 10 años • 2 respuestas

Cuando se usa grepen Linux, el resultado a menudo contiene muchas "coincidencias de archivos binarios XXX", que no me importan. ¿Cómo suprimir esta parte de los resultados o cómo excluir archivos binarios grep?

RandyTek avatar Sep 16 '14 00:09 RandyTek
Aceptado

Hay tres opciones que puedes utilizar. -Ies 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

Entonces esta podría ser una forma de ejecutar grep:

grep -InH your-word *
 avatar Sep 16 '2014 10:09

Esta es una pregunta antigua 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$
amadain avatar Jun 29 '2016 14:06 amadain