Почему grep игнорирует двоичные файлы по умолчанию?

В manpage для grep описывается флаг -I следующим образом:

 -I Ignore binary files. This option is equivalent to --binary-file=without-match option. 

Это также говорит об двоичных файлах:

  --binary-files=value Controls searching and printing of binary files. Options are binary, the default: search binary files but do not print them; without-match: do not search binary files; and text: treat all files as text. 

Я не могу думать о сценарии, где мне бы хотелось, чтобы совпадения в двоичных файлах. Если такой сценарий существует, он, безусловно, должен быть скорее исключением, чем нормой. Почему grep игнорирует двоичные файлы по умолчанию, а не требует установки этого флага?

  • Перезаписать файл с использованием AWK в цикле for
  • Как grep между словами в журнале?
  • Исключение пробелов в сценарии bash не работает
  • Найдите строку и добавьте ее в конец файла.
  • Как grep whitespace исключает новый символ?
  • Grep, но пусть первая строка через
  • Как фильтровать контент между определенными ключевыми словами с помощью grep?
  • Исключить параметр в команде du
  • 2 Solutions collect form web for “Почему grep игнорирует двоичные файлы по умолчанию?”

    Не все, что думает grep, является двоичным файлом, на самом деле является двоичным файлом. например, журналы марионетки имеют в них кодирование цвета ansi, что означает, что grep считает, что они двоичные. Я все равно хотел бы их искать, если бы я шел через / var / log.

    Способность grep искать двоичные файлы также полезна, когда я компилирую программу, а компоновщик ( ld ) жалуется на то, что некоторая функция не найдена. Я могу использовать команду типа

      grep имя_функции / lib / lib * 

    чтобы найти библиотеку, которая ее содержит. (Библиотеки – это двоичные файлы.)

    Linux и Unix - лучшая ОС в мире.