Hapus semua file *.swp di bawah direktori saat ini, gunakan find
perintah dalam salah satu bentuk berikut:
-
find . -name \*.swp -type f -delete
-delete
opsi berarti find akan langsung menghapus file yang cocok. Ini adalah yang paling cocok dengan pertanyaan aktual OP.
Menggunakan-type f
berarti find hanya akan memproses file.
-
find . -name \*.swp -type f -exec rm -f {} \;
find . -name \*.swp -type f -exec rm -f {} +
Opsi-exec
memungkinkan find untuk mengeksekusi perintah sewenang-wenang per file. Varian pertama akan menjalankan perintah satu kali per file, dan yang kedua akan menjalankan perintah sesedikit mungkin dengan mengganti{}
dengan parameter sebanyak mungkin.
-
find . -name \*.swp -type f -print0 | xargs -0 rm -f
Menyalurkan output kexargs
digunakan dari perintah per-file yang lebih kompleks daripada yang dimungkinkan dengan-exec
. Opsi-print0
memberi tahufind
untuk memisahkan kecocokan dengan ASCII NULL alih-alih baris baru, dan-0
memberi tahuxargs
untuk mengharapkan input yang dipisahkan NULL. Ini membuat konstruksi pipa aman untuk nama file yang berisi spasi.
Lihat man find
untuk detail dan contoh lebih lanjut.
find . -name '*.swp' -delete
Setelah menemukan, lakukan penghapusan itu sendiri untuk menghilangkan risiko ruang yang disematkan dalam nama file, ...Untuk keamanan tambahan, pertimbangkan juga untuk menambahkan -type f
hanya untuk file.
find /path -type f -name "*.swp" -delete
find /path -type f -name "*.swp" -exec rm -f "{}" +;
bash 4.0
shopt -s globstar
rm -f /path/**/*.swp