Почему 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 игнорирует двоичные файлы по умолчанию, а не требует установки этого флага?

2 Solutions collect form web for “Почему grep игнорирует двоичные файлы по умолчанию?”

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

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

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

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

  • Выполняет ли команда cat возврат файла или содержимого файла?
  • Анализ HTTP-ответа с помощью оболочки
  • сохранить только определенную часть строки в определенном столбце
  • Греп для слова в двух перевернутых запятых
  • GREP заглавные буквы из определенного столбца, выведите результат в тот же файл, что и новый столбец
  • Почему одно и то же sed regex (после grep) выходит из строя при запуске в сценарии bash или командной строке bash?
  • команда: ls / etc | сортировать | grep d * не дает результатов, но ls / etc | сортировать | grep p * перечисляет всю директорию
  • grep несколько строк, подсчет строк, эхо-выход для каждой строки
  • Перенаправление вывода GREP в разные текстовые файлы в зависимости от содержимого захвата
  • Цветной выход grep: не GREP_OPTIONS не является псевдонимом
  • Найти команду, которая не работает в сценарии оболочки
  • Найдите шаблон и напечатайте предыдущие строки, начиная с другого шаблона
  • Interesting Posts

    Предварительная обработка текста. Как запустить сразу несколько скриптов

    Как избавиться от сообщения «Будильник» в тайм-аут perl?

    Как создать файл gzip без расширения .gz?

    Как установить несколько версий одного и того же пакета в Gentoo?

    Slackware: печатать ужасный баннер

    inotifywait – получить старое и новое имя файла при переименовании

    Установка старой системной даты

    Как отредактировать следующую строку после шаблона с помощью sed?

    iptrace для linux: как я могу отслеживать полное содержимое пакета?

    Переименуйте пакет Debian автоматически, нажав apt-get upgrade

    Как использовать пользовательскую переменную в команде для создания условия в if, если

    Используя Ubuntu 16.04 и Ubuntu 16.10, у меня возникла проблема, связанная с bizare, когда система вылетает после входа в систему

    Как войти в открытую беспроводную сеть?

    В этом случае DNS использует TCP-порт 53

    Не удается связаться с локальным DNS-сервером для подзонов локального домена, поскольку брандмауэр возвращает IP-адрес шлюза

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