Solusi 1:
Saya biasanya menemukannya menggunakan -exec opsi untuk find agar lebih mudah dan tidak membingungkan. Coba ini:
find . -name vmware-*.log -exec rm -i {} \;
Semuanya setelah -exec dianggap sebagai perintah untuk menjalankan setiap hasil, hingga ; , yang di-escape di sini agar diteruskan ke find . {} diganti dengan nama file yaitu find biasanya akan dicetak.
Setelah Anda memverifikasi itu melakukan apa yang Anda inginkan, Anda dapat menghapus -i .
Solusi 2:
Jika Anda memiliki GNU find Anda dapat menggunakan -delete opsi:
find . -name "vmware-*.log" -delete
Untuk menggunakan xargs dan hindari masalah spasi pada nama file:
find . -name vmware-*.log -print0 | xargs -0 rm
Namun, file log Anda tidak boleh memiliki spasi di namanya. Dokumen pengolah kata dan file MP3 kemungkinan memilikinya, tetapi Anda harus dapat mengontrol nama file log Anda.
Solusi 3:
Anda dapat mengetahui find untuk membatasi daftar keluaran dengan NULL, dan xargs untuk menerima daftar inputnya sama:
$ ls -l "file 1" "file 2"
-rw-r--r-- 1 james james 0 Oct 19 13:28 file 1
-rw-r--r-- 1 james james 0 Oct 19 13:28 file 2
$ find . -name 'file *' -print0 | xargs -0 ls -l
-rw-r--r-- 1 james james 0 Oct 19 13:28 ./file 1
-rw-r--r-- 1 james james 0 Oct 19 13:28 ./file 2
$ find . -name 'file *' -print0 | xargs -0 rm -v
removed `./file 2'
removed `./file 1'
Selain itu, pastikan Anda keluar dari * , baik dengan garis miring terbalik, atau dengan memuat vmware-*.log dalam tanda kutip tunggal, jika tidak, shell Anda mungkin mencoba mengembangkannya sebelum meneruskannya ke find .
Solusi 4:
Jangan lupa temukan -delete pilihan. Itu menghapus file tanpa kesalahan dengan karakter khusus...