bagaimana unzip banyak file zip yang ditemukan di banyak subdirektori, semua dalam direktori berbeda tertentu

0

Saya punya daftar file zip, yang masing-masing file zip di dalamnya juga memiliki beberapa file zip lainnya, dan sebagainya. Saya perlu mengekstrak semuanya, dengan perintah shell ubuntu, dan hanya mendapatkan file dengan ekstensi * .pdf, ke direktori kosong baru.

Di sinilah saya berhasil datang, saya telah mencoba unzip -l "* .zip"

vipoxou
sumber

Jawaban:

2

Dari Bagaimana cara unzip file ZIP bersarang secara rekursif? datang ini satu-liner:

while [ "`find . -type f -name '*.zip' | wc -l`" -gt 0 ]; do find -type f -name "*.zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done

Ini menghapus semua file zip yang dilakukan untuk menghindari loop tak terbatas. Jika Anda ingin menghemat file-file ini, lakukan backup terlebih dahulu.

harrymc
sumber
tetapi bagaimana saya hanya menyimpan file dengan ekstensi .pdf?
vipoxou
1
Di atas mengekstrak semua file. Untuk mengekstrak hanya zip dan pdf, ganti perintah -exec unzip -- '{}' oleh dua perintah -exec unzip -- '{}' "*.zip" \; -exec unzip -- '{}' "*.pdf.`
harrymc