Saya mengalami masalah find
dengan -delete
karena perilaku yang disengaja find
(yaitu menolak untuk menghapus jika path dimulai dengan ./, yang mereka lakukan dalam kasus saya) sebagaimana dinyatakan dalam halaman manualnya:
-delete
Hapus file dan / atau direktori yang ditemukan. Selalu mengembalikan true. Ini dijalankan dari direktori kerja saat ini karena menemukan recurses ke bawah pohon. Itu tidak akan mencoba untuk menghapus nama file dengan karakter "/" di pathname-nya relatif terhadap "." untuk alasan keamanan.
Pemrosesan traversal mendalam-pertama diimplikasikan oleh opsi ini.
Symlink berikut tidak kompatibel dengan opsi ini.
Sebaliknya, saya hanya bisa melakukannya
find . -type d -name 'received_*_output' -exec rm -r {} +
Untuk kasus Anda, sepertinya mengutip glob (asterisk, *) adalah solusinya, tetapi saya ingin memberikan jawaban saya jika ada orang lain yang memiliki masalah yang sama.
CATATAN: Sebelumnya, jawaban saya adalah melakukan yang berikut, tetapi @Wildcard menunjukkan kelemahan keamanan dalam melakukan itu di komentar.
find . -type d -name 'received_*_output' | xargs rm -r
find . -type d -name .Apple*
bekerja - ini mencantumkan semua folder. Namun, gagal ketika saya menambahkan-delete
di akhir. Itu hanya kembali dengan ringkasan penggunaan. Ini berjalan di BusyBox v1.1.1. Apakah itu membuat perbedaan?