Por que o grep não ignora arquivos binários por padrão?

88

A página de manual para grep descreve o sinal -I da seguinte forma:

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

Ele também diz isso sobre arquivos binários:

 --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.

Não consigo pensar em um cenário em que eu me importe com correspondências em arquivos binários. Se tal cenário existe, certamente deve ser a exceção e não a norma. Por que o grep não ignora arquivos binários por padrão, em vez de exigir que esse sinalizador seja definido?

    
por Braiam 28.03.2013 / 16:58

2 respostas

81

Nem tudo o que o grep pensa ser um arquivo binário, é na verdade um arquivo binário. por exemplo. Os registros de marionetes têm códigos de cores ansi neles, o que faz com que o grep pense que eles são binários. Eu ainda gostaria de procurá-los se estou passando por / var / log embora.

    
por 28.03.2013 / 16:59
5
A capacidade do

grep de pesquisar arquivos binários também é útil quando estou compilando um programa, e o vinculador ( ld ) reclama que alguma função não foi encontrada. Eu posso usar um comando como

grep function_name /lib/lib*

para encontrar a biblioteca que contém. (Bibliotecas são arquivos binários.)

    
por 09.06.2015 / 13:38

Tags