Zip
Unix 解壓縮失敗,但 Mac 存檔實用程序有效
我有一堆文件,其
.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 壓縮文件)。
我不確定文件來自保管箱的事實是否相關,但我曾經
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?????'
事實證明,由於文件太大,
zip
無法處理(最大為 2Gb)。相反,我可以使用jar
:$ jar xvf RowlandMetaG_part1.zip inflated: RowlandMetaG_part1/296E-7-26-17-O_S23_L001_R1_001.fastq.gz # etc...
有可能,雖然文件以“.zip”結尾,但它不是一個 zip 文件。
file
您可以使用該實用程序確認這是否是一個 zip 文件(同時確定實際文件格式是什麼) :
file RowlandMetaG_part1.zip
確定文件格式後,您可以使用適當的工具將其取消歸檔。