GNU/Linux >> Belajar Linux >  >> Linux

daftar/temukan semua file biasa di semua subdirektori tidak termasuk file biner

file /usr/bin/file , misalnya, tidak menyertakan kata "biner" dalam keluarannya di sistem saya. Jika file -i tersedia, itu termasuk kata "biner". Tanpa -i , mungkin lebih dapat diandalkan untuk menguji keberadaan kata "text".

find -type f -exec sh -c "file {} | grep text >/dev/null" \; -print

atau

find -type f -exec sh -c "file {} | grep text >/dev/null" \; -ls

Menggunakan -i :

find -type f -exec sh -c "file -i {} | grep -v binary >/dev/null" \; -print

Menggunakan file hanya akan menjadi perkiraan karena menggunakan heuristik untuk menentukan jenis file dan tidak ada definisi yang pasti tentang apa yang dimaksud dengan file "biner". Apakah file kosong "biner"? file mengatakan itu. Selain itu, ada banyak cara (biasanya tidak umum) untuk memicu ID positif palsu dengan file .


Cara lain adalah mengecualikan semua file yang memiliki izin eksekusi untuk pengguna, grup, atau lainnya:

find . -type f ! -perm /u=x,g=x,o=x

(Jika biner sama dengan mengeksekusi izin...)


Linux
  1. Hapus Semua File Dalam Direktori Yang Namanya Tidak Cocok Dengan Baris Dalam Daftar File?

  2. Daftarkan semua file secara rekursif dalam direktori termasuk file dalam direktori symlink

  3. Ulangi daftar file dengan spasi

  1. Menemukan file yang dapat dibaca manusia di unix

  2. Hapus file yang cocok di semua subdirektori

  3. Bagaimana cara mendaftar file dengan path lengkap di Linux?

  1. Cara Menemukan File Di Linux Di Semua Direktori Secara Rekursif

  2. Dapatkan Daftar Semua File Dengan Mask Di Terminal?

  3. Bagaimana cara mendaftar semua file partisi di linux?