我创建了一个非常大的 zip 文件,然后将主 zip 分成 3GB 的块。我使用了命令
zip test.zip --out new_test.zip -s 3300m
结果生成了 3 个文件
test.zip
test.01
test.02
然后我用mv
命令把。压缩也在其他两个文件的末尾。
现在我拥有了全部 3 个。压缩文件,但当我尝试列出 zip 文件的内容以在文件中重定向时,出现以下错误。
unzip -l test.zip > test.txt
warning [bulk_content_import1.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)
有人可以帮我解决这个问题吗?我以前查看内容时没有问题unzip -l test.zip | more
,但我想将所有文件名重定向到单独的。TXT文件。
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of test1.zip or
test1.zip.zip, and cannot find test1.zip.ZIP, period.
答案1
这并不像你想象的那样工作。您创建了一个多部分 zip,而不是 3 个 zip 文件。
您不能指望将 .01 和 .02 部分重命名为 zip 而不破坏 zip 文件的完整性。此外,.01 和 .02 部分没有初始第一个 .zip 文件的初始标头内容。
因此,要列出 3 文件多部分 zip 的所有内容,您需要按原样保留名称。
TLDR 你不能发明东西并期望它们像你一样神奇地工作思考他们工作。
如果您想要较小的 zip 文件,最简单的方法是解压缩大文件,然后按较小的 zip 文件分发文件。