GNU/Linux >> Belajar Linux >  >> Linux

Cara menghapus/menghapus file yang dapat dieksekusi (alias file tanpa ekstensi) saja

Anda dapat menjalankan

find . -perm +100 -type f -delete

Ini dia:

ls | grep -v "\." | xargs rm

grep -v mengatakan "hanya izinkan nama file yang tidak mengandung titik", dan xargs rm mengatakan "lalu berikan daftar nama file ke rm ".


Gunakan find . Yang Anda inginkan adalah ini:

find . -type f -executable -exec rm '{}' \;

Menghapus semuanya tanpa ekstensi juga dapat dilakukan:

find . -type f -not -iname "*.*" -exec rm '{}' \;

Opsi sebelumnya tidak menghapus Makefile , dan dengan demikian lebih disukai. Saya pikir jawaban kcwu menunjukkan cara yang bagus untuk meningkatkan di atas menggunakan -delete opsi :

find . -type f -executable -delete
find . -type f -not -iname "*.*" -delete

Edit :Saya menggunakan GNU findutils find , versi 4.4.0, di bawah Ubuntu 8.10. Saya tidak mengetahui -executable sakelar sangat tidak biasa.


Linux
  1. Cara Menemukan dan Menghapus Direktori dan File Kosong di Unix

  2. Cara Menemukan dan Menghapus Direktori dan File Kosong di Linux

  3. Bagaimana menemukan hanya direktori tanpa subdirektori?

  1. Bagaimana Cara Mendapatkan Hanya File yang Dibuat Setelah Berkencan Dengan Ls?

  2. Bagaimana Cara Mencari File Berdasarkan Ukuran Dan Ekstensi?

  3. Cara menghapus jutaan file tanpa mengganggu server

  1. Bagaimana Cara Menghapus Semua File Dengan Ekstensi Tertentu Di Folder Tertentu?

  2. Perintah Linux:Bagaimana cara 'menemukan' hanya file teks?

  3. Bagaimana saya bisa mendaftar hanya file yang tidak kosong menggunakan ls?