GNU/Linux >> Belajar Linux >  >> Ubuntu

Menghapus Daftar Yang Difilter Saat Menghasilkan Output?

Saya memiliki direktori dengan banyak ekstensi file yang dicampur dan saya ingin membuat daftar ekstensi file tertentu (mungkin seperti grep *.mp3 ) dan saat mendaftar, hapus dengan output. Bagaimana saya bisa melakukannya atau jika ada penipuan, jangan ragu untuk menandai saya.

Contoh:

grep "*.mp3" . | rm -fr 

Jawaban yang Diterima:

Mari kita mulai dengan direktori dengan tiga mp3 file:

$ ls *mp3
a.mp3  b.mp3  c.mp3

Sekarang, mari kita hapus setelah kita membuat daftar apa yang kita hapus:

$ find . -maxdepth 1 -name '*.mp3' -printf 'Deleting %p\n' -delete
Deleting ./a.mp3
Deleting ./b.mp3
Deleting ./c.mp3

Setelah ini selesai, mp3 file hilang:

$ ls *mp3
ls: cannot access '*mp3': No such file or directory

Cara kerjanya

  • `temukan .

    Ini memulai find memerintah. Ini akan mencari file di direktori saat ini, . .

  • -maxdepth 1

    Secara default, find mencari subdirektori secara rekursif. Ini memberitahunya untuk tidak melakukan itu. Dengan -maxdepth 1 , perintah find hanya akan melihat apa yang ditemukan di direktori saat ini dan tidak menjelajahi subdirektori direktori saat ini.

  • -name '*.mp3'

    Ini memberitahu find untuk hanya mencari file dengan .mp3 ekstensi.

  • -printf 'Deleting %p\n'

    Ini memberitahu find untuk mencetak pesan tentang setiap file yang ditemukan.

    Anda tentu saja dapat mengubah ini ke pesan lain jika Anda mau. Jika Anda tidak menginginkan pesan, maka opsi ini dapat dihilangkan seluruhnya.

  • -delete

    Ini memberitahu find untuk menghapus setiap file.

Penelusuran tidak peka huruf besar/kecil

Jika Anda juga ingin mencari file bernama .MP3 atau .Mp3 dll., maka kita memerlukan pencarian case-insensitive dan kita menggunakan -iname :

find . -maxdepth 1 -iname '*.mp3' -printf 'Deleting %p\n' -delete

Ubuntu
  1. Temukan Alamat MAC di Ubuntu 21.10

  2. Bagaimana Menemukan Semua File Yang Berhubungan Dengan Perangkat Lunak?

  3. Tidak Dapat Menemukan Tempat Sampah?

  1. Simpan Hasil Cari Sebagai Variabel Dalam Script Shell?

  2. Temukan file yang telah diubah dalam 24 jam terakhir

  3. Cari tahu apakah OS berjalan di lingkungan virtual

  1. Menemukan File di Command Line (Cara)

  2. Ubuntu – Cara Menemukan Xorg.conf. Dimana itu?

  3. Menghapus Miliaran File Dari Direktori Sambil Melihat Kemajuannya Juga?