Linux: usare find per trovare file di testo?


4

C'è un modo per specificare findche voglio solo file di testo (e non file binari)? Grepha un'opzione per escludere i file binari, quindi ho pensato che findprobabilmente avesse una funzione simile, ma non sono riuscito a trovarlo.

Risposte:


6

Questo perché grepesamina il contenuto del file.

find . -exec sh -c "file -b --mime-type {} | grep -q '^text/'" \; -print

In Ubuntu questo èfind . -exec sh -c "file -b --mime {} | grep -q '^text/'" \; -print
icc97,

4

findpossono trovare i file in base ai loro metadati, ma non controllare i contenuti. Tuttavia, puoi accoppiarlo con file:

find .git -type f -exec file -iN0 {} + |
awk -F '\0' '$2 ~ /^: text\// {print $1}'

(È possibile rimuovere la | awk ...parte se si desidera anche informazioni più dettagliate.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.