file /usr/bin/file , ad esempio, non include la parola "binary" nel suo output sul mio sistema. Se file -i è disponibile, include la parola "binario". Senza -i , potrebbe essere più affidabile verificare la presenza della parola "testo".
find -type f -exec sh -c "file {} | grep text >/dev/null" \; -print
o
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
Usando file sarà solo un'approssimazione poiché utilizza l'euristica per determinare il tipo di file e non esiste una definizione rigida e veloce di ciò che costituisce un file "binario". Un file vuoto è "binario"? file dice che lo è. Inoltre, ci sono molti modi (normalmente non comuni) per attivare ID falsi positivi tramite file .
Un altro modo potrebbe essere quello di escludere tutti i file che hanno i permessi di esecuzione impostati per utente, gruppo o altro:
find . -type f ! -perm /u=x,g=x,o=x
(Se binario equivale alle autorizzazioni di esecuzione...)