unzip banyak file

14

Saya tidak berpikir bahwa saya adalah satu-satunya dengan masalah ini, tetapi sayangnya saya tidak dapat menemukan jawaban yang tepat antara pertanyaan yang diajukan sebelumnya.

Ini adalah prosedur yang sangat umum di situs torrent di mana konten dibagi dalam banyak arsip kecil. Kadang-kadang, arsip zip kecil yang diindeks berisi arsip rar lain di dalamnya.

Jadi, pertanyaan saya adalah: bagaimana Anda menangani masalah ini? Bagaimana cara Anda membongkar file-file itu secara rekursif?

rda
sumber
2
Bisakah Anda memberi contoh?
ztik
Apakah Anda mencari manual atau solusi yang sepenuhnya otomatis?
David Foerster
hanya sebuah catatan, biasanya ketika Anda menemukan torrent dengan peranti lunak / film ilegal, dan Anda tidak akan pernah benar-benar sampai pada akhir file .rar / .zip itu karena itu palsu.
Jeggy

Jawaban:

20

Untuk melakukannya, cukup tekan Ctrl+ Alt+ Tdi keyboard Anda untuk membuka Terminal. Saat terbuka, jalankan perintah di bawah ini:

unzip '*.zip'

Anda juga dapat mengklik kanan pada file pertama dalam grup, dan pilih Ekstrak di sini, dan itu juga akan semua file dalam grup itu.

Mitch
sumber
Menurut panduan unzip ini tidak mendukung arsip split (lihat paragraf pertama di bagian "Bug").
David Foerster
@ DavidFoerster baru saja mengujinya, dan itu berhasil.
Mitch
Ok, maka manual tampaknya salah. Tangkapan yang bagus.
David Foerster
@Mitch dalam kasus saya itu tidak berfungsi sais "kesalahan saat memuat file zip" tetapi pada windows direktori yang sama pada disk yang sama membuka ritsleting dengan winrar, mungkin Anda mencoba unzip beberapa tetapi> pisahkan <file zip secara bersamaan? itu hal lain.
papajo
2

Untuk unzip banyak file menggunakan loop -

for z in *.zip; do unzip "$z"; done
Rohith Madhavan
sumber
@ DavidFoerster Kedua metode pada dasarnya sama. *.zipmenyediakan semua file yang mungkin berakhir dengan ekstensi zip yang loop membuka ritsleting satu per satu. Ini juga sebabnya @Mitch telah menyertakan tanda kutip tunggal dalam jawabannya untuk membuatnya '*.zip', sehingga shell tidak akan mengenalinya sebagai karakter wild card.
Rohith Madhavan
1
Ini sebenarnya adalah metode yang lebih baik karena Anda dapat menentukan daftar nama file daripada mengatakan "semua file dalam direktori". Jika Anda ingin mengekstrak daftar file zip tertentu satu demi satu secara berurutan, Anda dapat melakukan, "untuk z di XYZTG; lakukan unzip -o" $ z.zip "; selesai" dan itu akan dilakukan dalam urutan itu. Ini jawaban yang lebih baik.
John Hamilton
0

CTRL+ ALT+ Tuntuk membuka terminal

for f in $(ls | egrep zip); do
  unzip $f -vd UnzippedDirectory
done

Ini pada dasarnya loop melalui semua ritsleting yang Anda dapatkan di direktori Anda saat ini, dan unzip masing-masing dari mereka verbose (maka -vflag) ke dalam direktori ( -dflag)

Daniel Andrei Mincă
sumber