Как подавить результаты сопоставления двоичных файлов в grep

При использовании grep в linux результат всегда содержит много "бинарных файлов XXX совпадений", которые мне не нужны. Как подавить эту часть результатов или как исключить двоичные файлы в grep?

Ответ 1

Существует три варианта, которые вы можете использовать. -I заключается в исключении двоичных файлов в grep. Другие - для номеров строк и имен файлов.

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

Таким образом, это может быть способ запуска grep:

grep -InH your-word *

Ответ 2

Это старый вопрос, на который был дан ответ, но я подумал, что поместил здесь -binary-files = текст для тех, кто хочет его использовать. Параметр -I игнорирует двоичный файл, но если вы хотите, чтобы grep обрабатывал двоичный файл в виде текстового файла, используйте -binary-files = text так:

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$