Jawaban:
Mengapa saya tidak bisa menggunakan perintah seperti ini untuk menemukan semua file pdf dalam direktori dan subdirektori?
Wildcard *.pdf
dalam perintah Anda diperluas dengan bash
ke semua file yang cocok di direktori saat ini, sebelum dieksekusi ls
.
Bagaimana saya melakukannya? (Saya menggunakan bash di ubuntu)
temukan adalah jawaban Anda.
find . -name \*.pdf
adalah daftar file pdf rekursif. -iname
cocok dengan huruf besar-kecil, jadi
find . -iname \*.pdf
mencantumkan semua file .pdf, termasuk misalnya foo.PDF
Anda juga dapat menggunakan ls untuk subfolder dalam jumlah terbatas, misalnya
ls *.pdf */*.pdf
untuk menemukan semua file pdf dalam subfolder (cocok untuk bar / foo.pdf, bukan untuk bar / foo / asdf.pdf, dan bukan untuk foo.PDF).
Jika Anda ingin menghapus file yang ditemukan dengan find, Anda dapat menggunakan
find . -iname \*.pdf -delete
Seperti yang orang lain katakan, temukan adalah jawabannya.
Sekarang untuk menjawab bagian lainnya.
Lalu bagaimana cara menghapus semua file ini?
Temukan . -iname * .pdf -exec rm {} \;
Harus melakukannya.
ls -l
perintah, menunjukkan ukuran file, kepemilikan, tanggal, dsb, Anda dapat menggunakanfind
dengan-ls
pilihan, misalnyafind . -name \*.pdf -ls