grep
suporta a opção --binary-files
para tratar arquivos binários como binary
, text
ou without-match
. A última opção deve pular arquivos binários. É equivalente a grep -I
. Fiz um teste e parece que o grep
do Busybox suporta -I
para ignorar arquivos binários.
grep
não é "mágico" para determinar se um arquivo é binário ou texto: ele simplesmente verifica os primeiros bytes para ver se eles parecem ser texto ou não e assume o mesmo para o resto do arquivo (de acordo para man grep
).
Sidenotes: pode-se emular isso, por exemplo, Comparando se head -1 myfile
de um arquivo é igual a head -1 myfile | strings
. Se file
estiver disponível, é ainda mais confiável, mas não está no Busybox e provavelmente não no sistema se o Busybox for usado principalmente.