file /usr/bin/file , por exemplo, não inclui a palavra "binary" em sua saída no meu sistema. Se file -i estiver disponível, incluirá a palavra "binário". Sem -i , pode ser mais confiável testar a presença da palavra "texto".
find -type f -exec sh -c "file {} | grep text >/dev/null" \; -print
ou
find -type f -exec sh -c "file {} | grep text >/dev/null" \; -ls
Usando -i :
find -type f -exec sh -c "file -i {} | grep -v binary >/dev/null" \; -print
Usar file será apenas uma aproximação, pois está usando heurística para determinar o tipo de arquivo e não há uma definição rápida e exata do que constitui um arquivo "binário". Um arquivo vazio é "binário"? file diz que é. Além disso, há muitas maneiras (normalmente incomuns) de acionar IDs falsos positivos em file .