Bagaimana cara unzip membagi file pada OS X

39

Bagaimana cara unzip file zip terpecah?

Di Terminal, saya menulis: unzip filename.zipdan itu tidak membuka zip file ini.

Terminal menulis:

$ unzip filename.zip
Archive:  filename.zip
warning [filename.zip]:  zipfile claims to be last disk of a multi-part archive;
  attempting to process anyway, assuming all parts have been concatenated
  together in order.  Expect "errors" and warnings...true multi-part support
  doesn't exist yet (coming soon).
file #1:  bad zipfile offset (local header sig):  4
file #2:  bad zipfile offset (local header sig):  98
file #3:  bad zipfile offset (local header sig):  471
file #4:  bad zipfile offset (local header sig):  6635222

Mengklik dua kali dari pembuatan file ini filename.zip.cpgz

Apa yang dapat saya?

Keris
sumber
1
Jadi, apakah ada bagian lain dari file ini atau Anda hanya memiliki bagian ini? Jika Anda hanya memiliki satu, apakah Anda mencoba untuk mendapatkan konten dari bagian ini saja?
slhck
Sudahkah Anda mencoba alat kompresi lainnya? Saya menjalankan uncompress dan gunzip pada file dan melihat apakah diproses dengan salah satu dari itu.
Wilersh
Tidak ada masalah untuk unzip beberapa arsip menggunakan unarchiver.app tapi saya sedang mencari perintah terminal untuk melakukan ini tanpa menggunakan aplikasi apa pun.
Kris
Pertama saya akan membawanya ke kotak Windows dan mencoba 7Zip di atasnya. Jika itu tidak berhasil, saya akan mencoba mencari sisa potongan file zip dan menyatukannya.
Daniel R Hicks

Jawaban:

50

Ini adalah solusi langsung dan satu-satunya yang bekerja untuk saya di OS X (diambil dari sini ).

1. Untuk membuat arsip zip terpisah (serangkaian file bernama zip, z01, z02 ...), jalankan perintah berikut di Terminal:

zip -s 100m -x "*.DS_Store" -r split-foo.zip foo/

2. Untuk mengekstrak arsip zip split (serangkaian file bernama zip, z01, z02 ...), jalankan perintah berikut di Terminal:

Pertama, gabungkan arsip split menjadi satu arsip:

zip -s 0 split-foo.zip --out unsplit-foo.zip

Ekstrak arsip tunggal menggunakan unzip:

unzip unsplit-foo.zip
Primoz Roma
sumber
20
jika Anda telah memisahkan binari, seperti file.zip.001, file.zip.002 ... Anda mungkin hanya perlu menggabungkan file misalnya menggunakan catperintah:cat file.zip.* > single.zip
Karl Adler
@abimelex komentar Anda membantu menyelesaikan skenario persis saya!
Daniel Apt
Kaulah lelaki @abimelex !!!!! - Saya memang harus menggunakan p7zip untuk mengekstraknya karena kesalahan ini:need PK compat. v5.1 (can do v4.5)
bryan
Saya senang membantu. Karena komentar memiliki banyak suara, saya menambahkannya sebagai jawaban juga.
Karl Adler
10

Hanya catsemua file zip berurutan menjadi satu file dan gunakan unzipperintah itu.

Sebagai contoh:

cat file.zip.001 > s.zip 
cat file.zip.002 >> s.zip
cat file.zip.003 >> s.zip

unzip s.zip 
Mal
sumber
7

tambahan untuk jawaban ini jika Anda memiliki binari terpecah, seperti file.zip.001, file.zip.002... Anda mungkin hanya perlu menggabungkan file misalnya menggunakan perintah cat:

cat file.zip.* > single.zip
Karl Adler
sumber
3

Jalankan saja perintah ini pada bash prompt untuk menyatukan ritsleting.

for i in `seq 1 5`; do cat file.zip.0$i>>uncut-version.zip; done

contoh di atas memiliki 5 bagian.

Kemudian unzip file menggunakan metode favorit Anda

unzip uncut-version.zip
cyborg77
sumber
2

Diuji pada Mac OS 10.8.5

  • Gunakan Stuffit Expander versi gratis
  • Cukup seret file terakhir (satu dengan ekstensi .ZIP) di Stuffit
  • Tunggu beberapa saat karena itu Stuffit kembali membangun pertama file lengkap
  • Lihat semua file Anda membuka ritsleting
Florent INPAGINA
sumber
2

Dalam kasus saya, dalam OS X 10.11.6, saya memiliki arsip multi bagian dengan ekstensi

.z01
.z02
... (etc)
.zip

Menggunakan

zip -s 0 in.zip --out out.zip

Apakah saya mendapatkan satu zip. Itu tidak mengekstrak dengan unzip, tetapi dengan 7zip, diinstal melalui MacPorts:

port install p7zip
7za x out.zip
rhaleblian
sumber
1

Saya mengalami masalah ini ketika mencoba merakit kembali direktori besar yang diunduh dari Google Drive.

Mirip dengan masalah ini , jika Anda berurusan dengan satu set file zip yang tidak termasuk ekstensi file bernomor (foo.z01, foo.z02, dll) dan hanya beberapa file zip yang harus diarsipkan bersama ke dalam direktori yang sama, berikut ini bekerja untuk saya:

unzip '*.zip' -d /path/to/unzip/destination
Klewis
sumber
0

Jawaban terpilih tertinggi tidak berfungsi untuk saya untuk arsip zip split besar. Apa yang sebenarnya berfungsi sangat sederhana: Buka file .z01 dengan aplikasi Mac gratis The Unarchiver (tersedia dari Mac App Store). Ini menangani ekstraksi dengan baik.

Yongwei Wu
sumber
0

Ini adalah solusi paling sederhana yang bisa saya temukan:

find ./ -name "*.zip" -exec unzip {} \;
fguillen
sumber