GNU/Linux >> Linux Esercitazione >  >> Linux

elenca/trova tutti i file regolari in tutte le sottodirectory esclusi i file binari

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


Linux
  1. Eliminare tutti i file in una directory il cui nome non corrisponde a una riga in un elenco di file?

  2. Trova tutti i file Python nel file system Linux?

  3. Elenca in modo ricorsivo tutti i file in una directory, inclusi i file nelle directory dei collegamenti simbolici

  4. Come elencare in modo ricorsivo tutti i file e le directory

  5. Itera su un elenco di file con spazi

Trova i file persi con Scalpel

Trovare file leggibili dall'uomo su unix

Escludi elenco di file da find

Elimina i file corrispondenti in tutte le sottodirectory

Come posso modificare tutti i file restituiti da find in vi in ​​Linux?

Come elencare tutti i file di una partizione su Linux?