如何在OS X上解压缩拆分文件


40

如何解压缩拆分的zip文件?

在终端中,我写道:unzip filename.zip并且它没有解压缩此文件。

终端写道:

$ 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

双击此文件创建 filename.zip.cpgz

我能做什么?


1
那么,该文件是否还有其他部分?或者您只有这一部分吗?如果只有一个,是否只想获取此部分的内容?
slhck 2011年

您是否尝试过其他解压缩工具?我会在文件上运行解压缩和gunzip,看看是否已使用其中之一进行了处理。
Wilersh 2011年

使用unarchiver.app解压缩多个档案没有问题,但是我正在寻找无需使用任何应用即可执行此操作的终端命令。
克里斯(Kris)

首先,我将其移至Windows框并在其上尝试7Zip。如果那行不通,我将尝试查找其余的zip文件片段并将其连接在一起。
Daniel R Hicks 2013年

Answers:


51

这是在OS X上适用于我的直接且唯一的解决方案(从此处获取)。

1.要创建拆分的zip归档文件(一系列名为zip,z01,z02 ...的文件),请在终端中运行以下命令:

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

2.要提取拆分的zip归档文件(一系列名为zip,z01,z02 ...的文件),请在终端中运行以下命令:

首先,将拆分的存档合并到一个存档中:

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

使用解压缩提取单个存档:

unzip unsplit-foo.zip

22
如果您分割了二进制文件,例如file.zip.001,file.zip.002 ...,则可能只需要合并文件即可,例如,使用以下cat命令:cat file.zip.* > single.zip
Karl Adler

@abimelex您的评论有助于解决我的确切情况!
Daniel Apt

你就是那个男人@abimelex !!!!! -我没有必须使用的p7zip提取它们,因为这个错误的:need PK compat. v5.1 (can do v4.5)
布赖恩

我很乐意提供帮助。由于评论有很多赞成票,因此我也将其添加为答案。
卡尔·阿德勒

10

只需cat按顺序将所有zip文件压缩为单个文件,然后unzip在其上使用命令即可。

例如:

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

unzip s.zip 

7

如果您有分割的二进制文件(例如,...),则除了此答案外file.zip.001file.zip.002您可能只需要合并文件即可,例如,使用cat命令:

cat file.zip.* > single.zip

3

只需在bash提示符上运行此命令以连接zip。

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

上面的示例分为5部分。

然后使用您喜欢的方法将文件解压缩

unzip uncut-version.zip

2

在10.8.5 Mac OS上测试

  • 使用Stuffit Expander免费版本
  • 只需拖动Stuffit中的最后一个文件(扩展名为.ZIP的文件)
  • 等待片刻,因为它似乎Stuffit会先重新构建完整文件
  • 查看所有已解压缩的文件

2

就我而言,在OS X 10.11.6中,我有一个包含扩展名的多部分存档

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

使用

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

确实给了我一个拉链。它没有解压缩,而是通过MacPorts安装的7zip解压缩:

port install p7zip
7za x out.zip

1

尝试重新组合从Google云端硬盘下载的大型目录时遇到此问题。

此问题类似,如果您要处理的一组zip文件不包括带编号的文件扩展名(foo.z01,foo.z02等),而只是多个zip文件,应将它们一起归档到同一目录中,以下为我工作:

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

0

这是我能找到的最简单的解决方案:

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

-1

适用于我的方法很简单:使用免费的Mac应用程序The Unarchiver(可从Mac App Store获得)打开.z01文件。它可以很好地处理提取。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.