題 從命令行解壓縮Multipart Zip


在此先感謝您的幫助。我試圖從OSX 10.8.5中的命令行解壓縮多部分zip文件。

我使用創建了zip zip -s 800m foo.zip foo.mov

文件 foo.mov 是2.7GB。所以我有文件: foo.zip, foo.z01, foo.z02, foo.z03

我試過用 zip -s 0 foo.zip -O foo_unsplit.zip,但是foo_unsplit.zip只有1.6GB,並在使用unzip時給出以下錯誤。

error:  invalid compressed data to inflate

我也試過用 cat Heritage.zip Heritage.z01 Heritage.z02 Heritage.z03 > Heritage_unsplit.zip 但解壓縮結果文件會得到以下結果:

unzip Heritage_unsplit.zip 
Archive:  Heritage_unsplit.zip
  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 Heritage_unsplit.zip or
        Heritage_unsplit.zip.zip, and cannot find Heritage_unsplit.zip.ZIP, period.

有誰知道在命令行解壓縮多部分文件的方法。我的任何嘗試都犯了錯誤嗎?


3
2017-11-20 21:22


起源


如果連接不起作用,您可能在某處有一個損壞的文件。看到 superuser.com/questions/15935/...
我現在認為這只是zip檔案的2GB單文件限制。 - Kieran
也可以看看 如何將.zip文件拆分成多個段?。我從一組500 MB分割拉鍊中提取了一個6GB的文件夾。 - User5910
也可以看看 在Mac OS X上提取大型zip文件(50 GB)。 - User5910


答案:


我假設MacOS版本之間有所不同 - 我目前正在運行 高山脈  和 unzip 仍然沒有正確支持多部分 - 但我做了相同的技巧 cat 但是按相反的順序而且有效。

cat Heritage.z03 Heritage.z02 Heritage.z01 Heritage.zip > Heritage_unsplit.zip 然後 unzip 它起作用了。

我得到了一些像下面的錯誤,但文件是二進制相等的:

> unzip big.zip
Archive:  big.zip
warning [big.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 [big.zip]:  1073741824 extra bytes at beginning or within zipfile
  (attempting to process anyway)
file #1:  bad zipfile offset (local header sig):  1073741828
  (attempting to re-compensate)
  inflating: ...

0
2017-08-22 04:17