C'è un modo per determinare la dimensione decompressa di un file .bz2?


34

C'è un modo per stampare la dimensione decompressa di un file .bz2 senza decomprimere effettivamente l'intera cosa?


Quindi non ci sono metadati sul file originale nell'output di bzip? > :(
endolith,

non che ho visto riferimento. : /
quack quixote,

Risposte:


36

Come notato da altri, bzip2 non fornisce molte informazioni. Ma questa tecnica funziona: dovrai decomprimere il file, ma non dovrai scrivere i dati decompressi sul disco, che potrebbe essere una soluzione "abbastanza buona" per te:

$ 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

Puoi convogliare quell'output in qualcos'altro per darti una forma leggibile dall'uomo:

$ 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

9
Bene, ci sono voluti solo cinque minuti per calcolare il 100% della CPU.
endolith,

2
solo? E riempirebbe un disco? ho un tarball compresso di una vecchia installazione di Linux che è solo 407meg ma il mio povero antico server ha impiegato 30-45 minuti per estrarre. che includeva la scrittura su disco, tuttavia, dovrò eseguire quello script per cronometrarlo. torno da te tra mezz'ora ... :)
Quack Quixote,

Ho scelto il file più piccolo per il primo test, ovviamente. 140 MB compressi -> 3 GB non compressi. I file più grandi sono compressi da 5 GB ...
endolith

heh .. fammi sapere quanto sono grandi i 5 GB ... e quanto tempo ci vuole per capirlo tramite questo XD
quack quixote

-3

Per leggere il file di testo di estensione .bz senza decomprimerlo.

bzcat dbtax_ext_en.ttl.bz2 |zless

1
bzcat e zless non lavorano insieme in questo modo. Utilizzare "bzcat file.bz2 | less" o "bzless file.bz2" o, se si dispone di un file gzippato, "zcat file.gz | less" o "zless file.gz". In effetti, la pagina man di zless osserva che "Zless non funziona con i dati compressi che vengono reindirizzati tramite l'input standard; richiede che i file di input vengano specificati come argomenti".
Nick Russo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.