解压缩大文件:错误的 zipfile 偏移量(本地标头 sig)

Ste*_*alk 12 unzip

我正在解压缩一个包含大约 300 万个单个文本文件的文件 - zip 文件本身的大小约为 12 GB。它不是多部分的——顺便说一句,它只是一个大的 zip 文件。我没有原始数据——我只有压缩文件,这意味着我不能再次尝试压缩内容(只是让你知道)。

问题是,当我unzip在某个时候,我得到

..
file #1207565:  bad zipfile offset (local header sig):  9570252890
file #1207566:  bad zipfile offset (local header sig):  9570254437
file #1207567:  bad zipfile offset (local header sig):  9570255044
file #1207568:  bad zipfile offset (local header sig):  9570256141
file #1207569:  bad zipfile offset (local header sig):  9570256786
file #1207570:  bad zipfile offset (local header sig):  9570257539
..
Run Code Online (Sandbox Code Playgroud)

这似乎不会分别影响存档中的每个子文件夹或文件,但对于其中的许多子文件夹或文件来说,该过程似乎失败了。

在这一点上我很难猜测是包装还是拆包的问题

有没有我可以尝试的解决方法?

小智 12

我遇到了同样的问题 - 一个包含很多文件的巨大 zip 文件 - 并在试图解压缩它时解压窒息。一个可能的解决方案是使用 java 归档程序。只需打开你的东西jar xvf file.zip


Azo*_*im- 6

我只是想将评论复制到答案中,尽管我必须使用“更努力”-FF选项才能使其正常工作:

在线和通过手册页的建议是使用:zip -F original.zip --out fixed.zip然后尝试fixed.zip正常提取...