Unix 解压缩失败,但 Mac Archive Utility 可以工作

Unix 解压缩失败,但 Mac Archive Utility 可以工作

我有一堆带有.zip扩展名的文件,但我似乎无法在 HPC 上提取这些文件:

$ unzip RowlandMetaG_part1.zip
Archive:  RowlandMetaG_part1.zip
warning [RowlandMetaG_part1.zip]:  13082642473 extra bytes at beginning or within zipfile
  (attempting to process anyway)
error [RowlandMetaG_part1.zip]:  start of central directory not found;
  zipfile corrupt.
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)

zip 文件本身的大小为 17377631766 字节。

但是,当我将该文件下载到我的 Mac 并双击时,Archive Utility 应用程序能够解压该文件(它包含一个目录,其中包含大约 200 个 gzip 压缩文件)。

生成该文件的地方说:

这些文件只是在运行 Windows 的本地实验室 PC​​ 上压缩,然后上传到 Dropbox...大多数人对它们没有任何问题,许多人可以使用 Linux wget 命令直接将我给他们的链接下载到他们的服务器中,然后解压缩(Linux 实用程序通常可以处理 PC 压缩文件)。

我不确定这些文件来自 dropbox 的事实是否相关,但我曾经curl -LO下载过(也尝试过- 这不会改变任何内容),并且文件在文件名末尾wget显示。?dl=1也就是说,当我从 dropbox 下载到我的 mac 时,unzip仍然失败并出现相同的错误。

我的问题 - 有没有办法让它在服务器上解压?某些软件可以完成与 Archive Utility.app 相同的任务,或者通过其他方式确定要使用的解压缩协议?

编辑:根据评论:一些附加信息:

$ file RowlandMetaG_part1.zip
RowlandMetaG_part3.zip: Zip archive data, at least v2.0 to extract
$ 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.

另外,我确实尝试过tar,但没有成功。

$ tar -xvf RowlandMetaG_part1.zip
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Archive contains `l@\022\t1\fjp\024uP\020' where numeric off_t value expected
tar: Archive contains `\024\311\032b\234\254\006\031' where numeric mode_t value expected
tar: Archive contains `\312\005hЈ\2138vÃ\032p' where numeric time_t value expected
# etc...

我最终在目录中得到这样的垃圾:

$ ls
???MK??%b???mv?}??????@*??TZ?S?? ??????+??}n>,!???ӟw~?i?(??5?#?ʳ??z0?[?Ed?@?쑱??lT?d???A??T???H??
,??Y??:???'w,??+?ԌU??Wwxm???e~??ZJ]y??ˤ??4?SX?=y$Ʌ{N\?P}x~~?T?3????y?????'

答案1

尽管文件以“.zip”结尾,但有可能它不是 zip 文件。

您可以使用该实用程序确认这是否是 zip 文件(同时确定实际文件格式是什么)file

file RowlandMetaG_part1.zip

确定文件格式后,您可以使用适当的工具将其取消存档。

答案2

事实证明,由于文件太大,zip无法处理(最大为 2Gb)。相反,我可以使用jar

$ jar xvf RowlandMetaG_part1.zip
inflated: RowlandMetaG_part1/296E-7-26-17-O_S23_L001_R1_001.fastq.gz
# etc...

答案3

尝试使用 tar 实用程序提取它

tar xvf <file-name>

也许这个链接可能相关:

https://apple.stackexchange.com/questions/208139/how-to-deal-with-unzip-error-on-a-large-file-in-osx

答案4

添加一个注释,就我而言,tar/jar 都失败了,但 7zip 有所帮助(7z x big.zip)。大文件讨论让我想到了苹果堆栈上的这个有用的问题,如何处理 OSX 中大文件的解压错误?

相关内容