2016-11-21 15 views
1

我有大量文件,所有文件都處於相同的文件格式,有時爲了節省空間而進行了壓縮。我正在策劃檔案以消除重複。.gz文件的集合在非常特定的偏移處被非常少量的字節損壞

對於大量重複文件(一對gzip,一個常規),它們相差< 20個字節,從少量文件偏移之一開始(一個偏移距文件起始處爲313656字節;另一個更常見的偏移量是176287)。文件從1MB到200MB,無壓縮。

我相信Ubuntu Linux版本的gzip和/或7zip命令行工具被用來壓縮這些文件。我甚至不能確定gzip版本是否是腐敗版本。

有沒有人知道會產生這樣一種特定腐敗模式的機制,然後我可以(a)在將來避免和(b)有希望地用來選擇「正確」(最可能是未損壞的)版本的文件?

回答

1

當您解壓縮對的gzip成員時,您會看到與已經解壓縮的其他成員不同的幾個字節?如果是這樣,那麼接下來的問題是:gzip解壓縮沒有錯誤消息嗎?如果是這樣,那麼gzip文件末尾的CRC-32值以及未壓縮的長度將被檢出。在這種情況下,gzip文件是您應該保留的文件。

我無法知道或猜測可能導致未壓縮文件損壞的原因。

+0

謝謝,馬克。我不知道gzip以這種方式使用CRC。我還確認,在他們找到我之前,由於在管道中的某個點進行了合法處理,文件不同。它們都是有效的,只是具有不同的處理時間戳。 (所以我可以安全地把它們中的一個扔掉,Hooray?) – Andreus

相關問題