type opsi untuk memfilter hasil
find menerima type opsi untuk memilih, misalnya, hanya file.
find /path/to/files -type f -mtime +10 -delete
Abaikan -delete untuk menunjukkan apa yang akan dihapus, dan setelah Anda memverifikasinya, lanjutkan dan jalankan perintah lengkap.
Itu hanya akan berjalan di file, bukan direktori. Gunakan -type d sebaliknya, hanya cantumkan direktori yang cocok dengan argumen Anda.
Opsi tambahan
Anda mungkin ingin membaca man find , karena ada beberapa opsi lagi yang mungkin Anda perlukan di masa mendatang. Misalnya, -maxdepth akan memungkinkan Anda untuk hanya membatasi item yang ditemukan ke kedalaman tertentu, mis. -maxdepth 0 tidak akan berulang ke subdirektori.
Beberapa komentar
-
Saya bertanya-tanya bagaimana perintah itu akan menghapus folder, karena Anda tidak dapat menghapus folder dengan
rmhanya. Anda membutuhkanrm -runtuk itu. -
Juga,
/path/to/files*membingungkan. Apakah maksud Anda/path/to/files/atau apakah Anda mengharapkan karakter pengganti diperluas ke beberapa nama file dan folder? -
Masukkan
{}dalam tanda kutip tunggal, yaitu'{}'untuk menghindari nama file/direktori yang diganti ditafsirkan oleh shell, sama seperti kita melindungi titik koma dengan garis miring terbalik.
Seperti pada jawaban sebelumnya (+1 untuk keduanya) triknya adalah menggunakan -type f predikat.
Perhatikan, bahwa alih-alih -exec rm '{}' Anda juga dapat menggunakan -delete predikat. Tapi jangan lakukan itu. Dengan -exec rm '{}' Anda dapat (dan harus) terlebih dahulu melakukan -exec echo rm '{}' untuk memverifikasi bahwa ini benar-benar yang Anda inginkan. Setelah itu jalankan kembali perintah tanpa echo .
Menggunakan -delete lebih cepat (tanpa tambahan fork() dan execve() untuk setiap file), tetapi ini berisiko karena -delete berfungsi juga sebagai syarat, jadi:
# delete *.tmp files
find . -type f -name '*.tmp' -delete
tetapi jika Anda HANYA menukar argumen:
# delete ALL files
find . -type f -name '*.tmp' -delete
Jika Anda membutuhkan find dan rm untuk bekerja lebih cepat untuk banyak file, lihat find ... | xargs ... rm Idiom UNIX.