La página de manual de grepdescribe la -Ibandera de la siguiente manera:
-I Ignore binary files. This option is equivalent to
--binary-file=without-match option.
También dice esto sobre archivos binarios:
--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.
No puedo pensar en un escenario en el que me importarían las coincidencias en archivos binarios. Si existe tal escenario, seguramente debe ser la excepción y no la norma. ¿Por qué no grepignora los archivos binarios de forma predeterminada en lugar de requerir que se configure este indicador para hacerlo?

GREP_OPTIONSa su configuración preferida, luego no tiene que usar tantos modificadores de línea de comando..(ba|z|foo)shrc':alias grep = "grep -I" `.Respuestas:
No todo lo que grep piensa es un archivo binario, en realidad es un archivo binario. por ejemplo, los registros de las marionetas tienen codificación de colores ansi, lo que hace que grep piense que son binarios. Todavía me gustaría buscarlos si estoy buscando a través de / var / log.
fuente
grepLa capacidad de buscar archivos binarios también es útil cuando estoy compilando un programa y el enlazador (ld) se queja de que no se encuentra alguna función. Puedo usar un comando comopara encontrar la biblioteca que lo contiene. (Las bibliotecas son archivos binarios).
fuente
grep -l function_name /lib/lib*onm -Do /lib/lib* | grep function_nameoldconfig -p | grep -o '/.*/lib.*' | xargs nm -Do | grep function_nameaunque.grep some_function /lib/*es más corto y generalmente da la respuesta correcta: nombre de la biblioteca que estoy buscando. Pero sí, a veces también se requiere un enfoque más sofisticado como el suyo.