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

Kri*_*ris 52 zip macos

如何解压缩拆分的 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
Run Code Online (Sandbox Code Playgroud)

双击这个文件创建 filename.zip.cpgz

我能做什么?

Pri*_*ome 62

这是在 OS X 上对我有用的直接且唯一的解决方案(取自此处)。

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

zip -s 100m -x "*.DS_Store" -r split-foo.zip foo/
Run Code Online (Sandbox Code Playgroud)

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

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

zip -s 0 split-foo.zip --out unsplit-foo.zip
Run Code Online (Sandbox Code Playgroud)

使用 unzip 解压缩单个存档:

unzip unsplit-foo.zip
Run Code Online (Sandbox Code Playgroud)

  • 如果您已拆分二进制文件,例如 file.zip.001、file.zip.002 ...您可能只需要合并这些文件,例如使用 `cat` 命令:`cat file.zip.* > single.zip` (27认同)
  • `zip -s 0 split-foo.zip --out unsplit-foo.zip` 作为分割存档没有任何意义?如何将两个文件合并为一个 zip 文件? (2认同)

小智 12

只需将cat所有 zip 文件按顺序压缩到一个文件中,然后unzip在其上使用命令。

例如:

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

unzip s.zip 
Run Code Online (Sandbox Code Playgroud)

  • 对我来说不起作用,因为我收到此错误消息````警告 [s.zip]: 1629602286 extra bytes at begin or inside zipfile```` (2认同)

Kar*_*ler 11

除了这个答案之外,如果您有拆分二进制文件,例如file.zip.001file.zip.002...您可能只需要合并文件,例如使用 cat 命令:

cat file.zip.* > single.zip
Run Code Online (Sandbox Code Playgroud)


小智 7

我在尝试重新组合从 Google Drive 下载的大目录时遇到了这个问题。

此问题类似,如果您正在处理一组不包含编号文件扩展名(foo.z01、foo.z02 等)的 zip 文件,并且只是多个应一起解压缩到同一目录中的 zip 文件,则以下对我有用:

unzip '*.zip' -d /path/to/unzip/destination
Run Code Online (Sandbox Code Playgroud)