Um den Fragetitel zu beantworten:
Wie kann ich die unkomprimierte Größe der gzip-Datei erhalten, ohne sie tatsächlich zu dekomprimieren?
Wie Sie offensichtlich wissen, zeigt die Option -l
( --list
) normalerweise die unkomprimierte Größe.
Was angezeigt wird, wird nicht aus den Daten berechnet, sondern als Teil der komprimierten Datei im Header gespeichert.
In Ihrem Fall -l
funktioniert die Option aus irgendeinem Grund nicht.
Es ist jedoch nicht möglich, die unkomprimierte Größe aus den rohen komprimierten Daten zu "messen" - es gibt einfach keine Informationen zu etwas anderem in den komprimierten Daten - was nicht verwunderlich ist, da der Punkt der Komprimierung darin besteht, alles, was nicht benötigt wird, wegzulassen.
Sie müssen die unkomprimierten Daten nicht auf der Festplatte speichern: zcat file.gz | wc -c
Ist der richtige Ansatz - aber wie @OleTange geantwortet hat, zcat
scheint Ihr nicht derjenige von zu sein gzip
.
Die Alternative ist die Verwendung der gzip
Optionen -d
( --decompress
) und-c
( --to-stdout
), kombiniert mit wc
Option -c
( --bytes
):
gzip -dc file.gz | wc -c