Saya ingin menghapus semua file dengan nama yang diberikan di semua subdirektori dari direktori home saya.
Saya mencoba:
rm -r file
di direktori home saya, tetapi tidak berfungsi karena file itu tidak ada di direktori itu.
find . -name "filename" -delete
sebagai uraian jawaban @ tante, Anda mungkin ingin memastikan daftar file yang digunakan sudah benar sebelum menghapus file-file itu:
find <source_dir> -name <filename> -print
jika inspeksi menunjukkan daftar yang valid, maka
find <source_dir> -name <filename> -delete
pilihan lain jika menginginkan ini di banyak direktori menggunakan direktori holding sementara:
mkdir <dest_dir>
for i in <list_of_directories>
do
find "$i" -name <filename> -exec /bin/mv {} <dest_dir>
done
# check dest_dir
ls dest_dir
rm -rf <dest_dir>
Seperti biasa, harap pastikan keakuratan skrip apa pun sebelum eksekusi dan selalu siapkan cadangan jika-kalau terjadi kesalahan.