GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menggunakan perintah find untuk menghapus file yang cocok dengan pola?

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...


Linux
  1. Cara Menggunakan Perintah Grep untuk Menemukan Teks di File

  2. Bagaimana Cara Mencari Di File Tertentu yang Sesuai Dengan Pola?

  3. Cara Menemukan File dengan Perintah fd di Linux

  1. Cara Menggunakan Perintah find Linux untuk Menemukan File

  2. Cara Menggunakan Perintah rpm2cpio di Linux

  3. Bagaimana cara menggunakan regex dengan perintah find?

  1. Cara Menemukan Jumlah File dalam Direktori dan Subdirektori

  2. Cara Menghapus File BESAR (100-200GB) di Linux

  3. Hapus file yang cocok di semua subdirektori