How to unzip split files on OS X

42

20

How do I unzip a split zip file?

In Terminal, I wrote: unzip filename.zip and it did not unzip this file.

Terminal wrote:

$ 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

Double clicking of this file creating filename.zip.cpgz

What can I do?

Kris

Posted 2011-12-07T17:07:10.043

Reputation: 421

1So, are there any other parts of this file or do you only have this one part? If you only have one, are you trying to get the contents of this part only? – slhck – 2011-12-07T17:12:06.553

Have you tried other uncompression tools? I'd run uncompress and gunzip on the file and see if was processed with one of those. – Wilersh – 2011-12-07T20:25:29.810

It's no problem to unzip multiple archive using unarchiver.app but I'm looking for the terminal command to do this without of using any apps. – Kris – 2011-12-08T14:16:11.870

First I'd take it over to a Windows box and try 7Zip on it. If that doesn't work I'd try to find the rest of the zip file pieces and concatenate them together. – Daniel R Hicks – 2013-07-20T01:00:40.820

Answers

53

This was the straight forward and only solution that worked for me on OS X (taken from here).

1. To create a split zip archive (a series of files named zip, z01, z02...), run following command in Terminal:

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

2. To extract a split zip archive (a series of files named zip, z01, z02...), run following command in Terminal:

First, combine the split archive to a single archive:

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

Extract the single archive using unzip:

unzip unsplit-foo.zip

Primoz Rome

Posted 2011-12-07T17:07:10.043

Reputation: 681

22if you have splitted binaries, like file.zip.001, file.zip.002 ... you may just need to combine the files e.g. using cat command: cat file.zip.* > single.zip – Karl Adler – 2015-04-29T09:52:26.833

@abimelex your comment helped solve my exact scenario! – Daniel Apt – 2015-06-02T11:44:24.027

You're the man @abimelex !!!!! - I did have to use p7zip to extract them because of this error: need PK compat. v5.1 (can do v4.5)

– bryan – 2017-05-18T15:06:19.727

I'm glad to help. Since the comment has a lot of up-votes I added it as answer too. – Karl Adler – 2017-05-19T08:16:08.810

9

Just cat all zip files in sequence to a single file and use unzip command on that.

For example:

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

unzip s.zip 

Malls

Posted 2011-12-07T17:07:10.043

Reputation: 191

didn't work for me as I got this error message warning [s.zip]: 1629602286 extra bytes at beginning or within zipfile – gota – 2020-01-16T12:20:50.030

8

additionally to this answer if you have split binaries, like file.zip.001, file.zip.002 ... you may just need to combine the files e.g. using cat command:

cat file.zip.* > single.zip

Karl Adler

Posted 2011-12-07T17:07:10.043

Reputation: 181

didn't work for me as I got this error message warning [s.zip]: 1629602286 extra bytes at beginning or within zipfile – gota – 2020-01-16T12:21:50.870

3

Just run this command on the bash prompt to concatenate the zips.

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

the above example has 5 parts.

Then unzip the file using your favourite method

unzip uncut-version.zip

cyborg77

Posted 2011-12-07T17:07:10.043

Reputation: 31

2

In my case, within OS X 10.11.6, i had a multipart archive with extensions

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

Using

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

did get me a single zip. It did not extract with unzip, but did with 7zip, installed via MacPorts:

port install p7zip
7za x out.zip

rhaleblian

Posted 2011-12-07T17:07:10.043

Reputation: 21

2

Tested on a 10.8.5 Mac OS

  • Use Stuffit Expander free version
  • Just drag the last file (the one with .ZIP extension) in Stuffit
  • Wait for a while because it seeme Stuffit re-build first the complete file
  • See all your files unzipped

Florent INPAGINA

Posted 2011-12-07T17:07:10.043

Reputation: 21

1

I hit this issue when trying to re-assemble a large directory downloaded from Google Drive.

Similar to this issue, if you are dealing with a set of zip files that do not include numbered file extensions (foo.z01, foo.z02, etc) and are simply multiple zip files that should be unarchived together into the same directory, the following worked for me:

unzip '*.zip' -d /path/to/unzip/destination

klewis

Posted 2011-12-07T17:07:10.043

Reputation: 11

0

This was the most simple solution I could find:

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

fguillen

Posted 2011-12-07T17:07:10.043

Reputation: 241

-1

What worked for me is very simple: Open the .z01 file with the free Mac application The Unarchiver (available from the Mac App Store). It handles the extraction nicely.

Yongwei Wu

Posted 2011-12-07T17:07:10.043

Reputation: 99