Wenn eine Datei komprimiert ist, können Sie sie schnell abfragen, um die Größe der nicht komprimierten Datei zu bestimmen (ohne sie zu dekomprimieren), insbesondere in Fällen, in denen die Größe der nicht komprimierten Datei> 4 GB ist.
Laut dem RFC https://tools.ietf.org/html/rfc1952#page-5 können Sie die letzten 4 Bytes der Datei abfragen, aber wenn die unkomprimierte Datei> 4 GB war, dann stellt der Wert nur das daruncompressed value modulo 2^32
Dieser Wert kann auch durch Ausführen gunzip -l foo.gz
des Befehls abgerufen werden. Die Spalte "unkomprimiert" enthält jedoch nur einen neuen Wert uncompressed value modulo 2^32
, vermutlich, wenn die Fußzeile wie oben beschrieben gelesen wird.
Ich habe mich nur gefragt, ob es eine Möglichkeit gibt, die unkomprimierte Dateigröße zu ermitteln, ohne sie zuerst dekomprimieren zu müssen. Dies ist besonders nützlich, wenn komprimierte Dateien mehr als 50 GB Daten enthalten und die Dekomprimierung mit Methoden wie gzcat foo.gz | wc -c
BEARBEITEN: Die Beschränkung von 4 GB wird auf der man
Seite des in gzip
OSX ( Apple gzip 242
) enthaltenen Dienstprogramms offen anerkannt.
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
Ich wäre überrascht, wenn hier viele 23-Jährige herumlaufen würden. Ich bin sicher, dass es einige gibt, aber nach dem, was ich sagen kann, liegt das Durchschnittsalter zwischen 30 und 35 Jahren.
xz
die diese Einschränkung nicht hat. GNU wechselt zu xz
.
xz
Fall so aus, als würde dieses Problem gelöst.
gzip
muss älter sein als viele Benutzer in dieser Community!