Gibt es eine Möglichkeit, die dekomprimierte Größe einer .bz2-Datei zu bestimmen?

14591
endolith

Gibt es eine Möglichkeit, die dekomprimierte Größe einer .bz2-Datei zu drucken, ohne das Ganze tatsächlich zu dekomprimieren?

28
Es gibt also keine Metadaten über die Originaldatei in der bzip-Ausgabe? > :( endolith vor 14 Jahren 0
nicht, dass ich einen Bezug gesehen habe. : / quack quixote vor 14 Jahren 0

2 Antworten auf die Frage

34
quack quixote

Wie von anderen angemerkt, liefert bzip2 nicht viele Informationen. Aber diese Technik funktioniert - Sie haben die Datei entpacken, aber Sie werden nicht die dekomprimierten Daten auf die Festplatte zu schreiben, die eine „gut genug“ Lösung für Sie können sein:

$ ls -l foo.bz2 -rw-r--r-- 1 ~quack ~quack 2364418 Jul 4 11:15 foo.bz2  $ bzcat foo.bz2 | wc -c # bzcat decompresses to stdout, wc -c counts bytes 2928640 # number of bytes of decompressed data 

Sie können diese Ausgabe in etwas anderes leiten, um eine von Menschen lesbare Form zu erhalten:

$ ls -lh foo.bz2 -rw-r--r-- 1 quack quack 2.3M Jul 4 11:15 foo.bz2  $ bzcat foo.bz2 | wc -c | perl -lne 'printf("%.2fM\n", $_/1024/1024)' 2.79M 
Nun, es dauerte nur fünf Minuten, um 100% CPU zu berechnen. endolith vor 14 Jahren 8
nur? UND es würde eine Platte füllen? Ich habe einen komprimierten Tarball einer alten Linux-Installation, der nur 407meg beträgt, aber mein armer alter Server brauchte 30-45 Minuten, um ihn zu extrahieren. Dazu gehörte das Schreiben auf die Festplatte, also muss ich das Skript ausführen, um es zu testen. komm zurück in einer halben stunde ... :) quack quixote vor 14 Jahren 2
Ich habe natürlich die kleinste Datei für den ersten Test ausgewählt. 140 MB komprimiert -> 3 GB unkomprimiert. Die größeren Dateien sind 5 GB komprimiert ... endolith vor 14 Jahren 0
Hey, ich weiß, wie groß die 5 GB sind, und wie lange es dauert, um es über dieses XD herauszufinden quack quixote vor 14 Jahren 0
-1
Shashank Motepalli

.Bz-Erweiterungstextdatei ohne Entpacken lesen.

bzcat dbtax_ext_en.ttl.bz2 |zless 
bzcat und zless arbeiten so nicht zusammen. Verwenden Sie "bzcat file.bz2 | less" oder "bzless file.bz2" oder, wenn Sie eine gzippte Datei haben, "zcat file.gz | less" oder "zless file.gz". In der Manpage zu zless heißt es: "Zless arbeitet nicht mit komprimierten Daten, die über die Standardeingabe zu ihm geleitet werden. Es erfordert, dass Eingabedateien als Argumente angegeben werden." Nick Russo vor 6 Jahren 1