Как подавить результаты сопоставления двоичных файлов в grep
При использовании grep в linux результат всегда содержит много "совпадений двоичного файла XXX", которые меня не волнуют. Как подавить эту часть результатов, или как исключить двоичные файлы в grep?
2 ответа
Решение
Есть три варианта, которые вы можете использовать. -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 *
Это старый вопрос, и на него ответили, но я решил поставить опцию --binary-files=text здесь для всех, кто хочет его использовать. Опция -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$