我有一個超過 15GB 的 zip 檔案,但出現錯誤。我需要修改一個 bash 代碼來處理錯誤(而不是僅僅為了“捕捉它”而糾正它),問題是檔案的大小讓我在想要測驗某些東西時變得非常慢,我需要重新創建同樣的錯誤,但檔案大小為 1gb,因此我可以更快地進行測驗,我已經嘗試了所有想到的東西,但沒有成功。
這是錯誤:
$ zip -T AUDIOS.zip
Could not find:AUDIOS.z01
Hit c (change path to where this split file is)
q (abort archive - quit)
or ENTER(Try reading this split again)
錯誤很明顯,但我認為是檔案損壞的結果,因為 zip 檔案并不是真正的多部分 zip,所以我假設檔案頭中存在一些錯誤,或者類似的東西使 zip 命令認為它是一個多部分檔案。
注意:如果我使用 7z 解壓縮檔案一切順利,它會說有錯誤頭,但檔案還是以正確的方式解壓縮。
我寫了最后兩段只是為了提供一些背景關系,我真正需要的是在一個較小的 zip 檔案中重新創建錯誤,這樣當我執行zip -T zipfile它時它會回傳與大檔案相同的內容。
uj5u.com熱心網友回復:
@tink 發布的鏈接與您看到的錯誤相符。未知的是您的 zip 檔案中的損壞是否與鏈接中的損壞相匹配。可能有多種原因可以觸發該錯誤訊息。不確定這對你是否重要。
如果您想驗證鏈接中的詳細資訊是否與您的 zip 檔案匹配,請zipdetails從此處獲取副本并運行此
perl zipdetails -v AUDIOS.zip
它將提供 zip 檔案的詳細輸出。對于此錯誤,您需要在 zip 檔案的末尾發布資料,如下所示。我在鏈接中突出顯示了導致問題的部分。
00BF 0004 50 4B 06 06 ZIP64 END CENTRAL DIR 06064B50
RECORD
00C3 0008 2C 00 00 00 Size of record 000000000000002C
00 00 00 00
00CB 0001 1E Created Zip Spec 1E '3.0'
00CC 0001 03 Created OS 03 'Unix'
00CD 0001 2D Extract Zip Spec 2D '4.5'
00CE 0001 00 Extract OS 00 'MS-DOS'
00CF 0004 00 00 00 00 Number of this disk 00000000
00D3 0004 00 00 00 00 Central Dir Disk no 00000000
00D7 0008 01 00 00 00 Entries in this disk 0000000000000001
00 00 00 00
00DF 0008 01 00 00 00 Total Entries 0000000000000001
00 00 00 00
00E7 0008 5A 00 00 00 Size of Central Dir 000000000000005A
00 00 00 00
00EF 0008 65 00 00 00 Offset to Central dir 0000000000000065
00 00 00 00
00F7 0004 50 4B 06 07 ZIP64 END CENTRAL DIR 07064B50
LOCATOR
00FB 0004 00 00 00 00 Central Dir Disk no 00000000
00FF 0008 BF 00 00 00 Offset to Central dir 00000000000000BF
00 00 00 00
0107 0004 00 00 00 00 Total no of Disks 00000000 <==== This value should be 1
010B 0004 50 4B 05 06 END CENTRAL HEADER 06054B50
010F 0002 00 00 Number of this disk 0000
0111 0002 00 00 Central Dir Disk no 0000
0113 0002 01 00 Entries in this disk 0001
0115 0002 01 00 Total Entries 0001
0117 0004 5A 00 00 00 Size of Central Dir 0000005A
011B 0004 FF FF FF FF Offset to Central Dir FFFFFFFF
011F 0002 00 00 Comment Length 0000
我在測驗工具中使用了一個測驗檔案zero.zipzipdetails來檢查這個特定的錯誤。如果這確實與您的損壞相同,您可以將zero.zip其用于測驗。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/514448.html
