Existe uma maneira de determinar o tamanho descompactado de um arquivo .bz2?

28

Existe uma maneira de imprimir o tamanho descompactado de um arquivo .bz2 sem realmente descompactar a coisa toda?

    
por endolith 11.10.2009 / 20:33

2 respostas

34

Como observado por outros, o bzip2 não fornece muita informação. Mas esta técnica funciona - você terá que descompactar o arquivo, mas você não terá que gravar os dados descomprimidos em disco, o que pode ser uma solução "boa o suficiente" para você:

$ 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

Você pode canalizar essa saída para outra forma para fornecer um formato legível:

$ 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
    
por 11.10.2009 / 21:40
-1

Para ler o arquivo de texto de extensão .bz sem descompactar.

bzcat dbtax_ext_en.ttl.bz2 |zless
    
por 04.08.2017 / 16:49