Gzip
為什麼 gzip 不創建相同大小的文件?
我有一個需要拆分為較小尺寸的文件(壓縮時 <24M)
繼承人的文件:
498775505 Mar 8 00:08 test.file
我拆分它:
split -b 125000k test.file test.file.
現在我有什至大小的文件(除了最後一個文件很好)
476M Mar 8 00:08 test.file 123M Mar 8 00:09 test.file.aa 123M Mar 8 00:09 test.file.ab 123M Mar 8 00:09 test.file.ac 110M Mar 8 00:09 test.file.ad
但是當我壓縮這些文件時,它們並沒有均勻地壓縮
gzip test.file.a* 476M Mar 8 00:08 test.file 27M Mar 8 00:09 test.file.aa.gz 23M Mar 8 00:09 test.file.ab.gz 22M Mar 8 00:09 test.file.ac.gz 20M Mar 8 00:09 test.file.ad.gz
有人可以用 gzip 解釋這裡發生了什麼嗎?
(這更多是出於好奇,因為我可以將它們分成較小的數量以將它們放在下面
24M
,只是想知道 gzip 在這裡是如何工作的)
拆分文件包含原始(完整)文件的不同部分,它們可能具有不同的內容。(它們相同的唯一方法是原件高度重複。)
不同的內容導致不同的壓縮結果。喜歡的東西
aaaaaaaaaa
比壓縮更容易wekfsiorlm
。在 123 MB 的文件中,有相當多的空間可以讓一個文件比另一個文件更“隨機”(更難壓縮),即使它不像我這裡的範例那麼極端。如果您想控制壓縮結果文件的大小,您可以將原始文件分成更小的部分,單獨壓縮它們,然後將壓縮部分連接在一起,直到達到所需的大小限制。(不過,我想不出一種簡單的方法來做到這一點。)
如果輸入
gzip -d
包含多個壓縮gzip
“文件”,則將它們全部解壓縮。儘管這會損失一些壓縮性能,因為拆分會導致數據人為中斷。