Linux: gunakan find untuk menemukan file teks?

4

Apakah ada cara untuk menentukan findbahwa saya hanya ingin file teks (dan bukan file biner)? Grepmemiliki opsi untuk mengecualikan file biner, jadi saya pikir findmungkin memiliki fitur serupa, tetapi saya tidak dapat menemukannya.

Peltier
sumber

Jawaban:

6

Itu karena grepmelihat isi file.

find . -exec sh -c "file -b --mime-type {} | grep -q '^text/'" \; -print
Ignacio Vazquez-Abrams
sumber
Di Ubuntu, ini adalahfind . -exec sh -c "file -b --mime {} | grep -q '^text/'" \; -print
icc97
4

finddapat menemukan file dengan metadata mereka, tetapi tidak memeriksa konten. Namun, Anda dapat memasangkannya dengan file:

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

(Anda dapat menghapus | awk ...bagian itu jika Anda juga menginginkan informasi yang lebih terperinci.)

grawity
sumber