我刚刚读了这个问题
在我尝试之前,它似乎很简单。
为了创建和拆分 zip 档案,我使用了
$ zip -s 13 BW.pdf.zip BW.pdf
它创建了一堆文件,
BW.pdf.zip
BW.pdf.z01
BW.pdf.z02
(z03、z04 等等)
请注意,第一个文件的后缀与其他文件不同。该文件也只有 54 kB,而除最后一个文件外,其他文件均为 13 MB。
然后,我对生成的文件进行了 cat:ed 处理,就像链接答案中所建议的那样
ca BW.pdf.z* > a.zip
最后我解压了 a.zip 但收到了很多警告和错误
$ unzip a.zip
Archive: a.zip
warning [a.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).
warning [a.zip]: 125829120 extra bytes at beginning or within zipfile
(attempting to process anyway)
file #1: bad zipfile offset (local header sig): 125829124
(attempting to re-compensate)
inflating: BW.pdf
这里发生了什么?
在 cat:ing 时,.zip 文件应该是.zip 中的第一个文件还是最后一个文件?
这些错误信息实际上意味着什么?
这个 54 kB 的 .zip 文件有什么用?我不可能将它输入到解压和解压合并中并自动提取整个档案。
zip 的内置 split 和常规命令行命令 (sic!) split 之间有什么区别?
有没有比 zip 更好的替代品,可以使用校验和等来跟踪分割档案?
更新:
$ zip --version
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
Currently maintained by E. Gordon. Please send bug reports to
the authors using the web page at www.info-zip.org; see README for details.
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip,
as of above date; see http://www.info-zip.org/ for other sites.
Compiled with gcc 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31) for Unix (Mac OS X) on Oct 6 2017.