Bir dosya gziplendikten sonra, özellikle sıkıştırılmamış dosyanın> 4GB boyutunda olduğu durumlarda, sıkıştırılmamış dosya boyutunun ne olduğunu (açmadan) söylemek için hızlı bir şekilde sorgulamanın bir yolu vardır.
RFC https://tools.ietf.org/html/rfc1952#page-5’e göre , dosyanın son 4 baytını sorgulayabilirsiniz, ancak sıkıştırılmamış dosya> 4GB ise, bu değer sadece değeri temsil eder.uncompressed value modulo 2^32
Bu değer, çalıştırılarak da elde edilebilir gunzip -l foo.gz
, ancak "sıkıştırılmamış" sütun uncompressed value modulo 2^32
, muhtemelen yukarıda açıklandığı gibi altbilgiyi okuduğu gibi , tekrar içerir .
Sadece sıkıştırılmamış dosya boyutunu, önce sıkıştırmasını açmaya gerek kalmadan elde etmenin bir yolu olup olmadığını merak ediyordum, bu özellikle, gzipli dosyaların 50GB + veri içerdiği ve bu gibi yöntemleri kullanarak sıkıştırmanın açılması için özellikle yararlı olacaktı. gzcat foo.gz | wc -c
EDIT: 4GB sınırlaması, OSX ( ) programındaki yardımcı program man
sayfasında açıkça kabul edildi.gzip
Apple gzip 242
BUGS
According to RFC 1952, the recorded file size is stored in a 32-bit
integer, therefore, it can not represent files larger than 4GB. This
limitation also applies to -l option of gzip utility.
gzip
1992'de ortaya çıktı. Etrafta dolanan 23 yaşındaki birileri olsaydı şaşırırdım. Bazıları olduğuna eminim ama ortanca yaşın 30-35 civarında olduğunu söyleyebilirim.
xz
olabilir; GNU geçiş yapıyor xz
.
xz
bu sorunu çözecek gibi görünüyor .
gzip
, bu topluluktaki birçok kullanıcıdan daha büyük olmalı!