Para responder ao título da pergunta:
How can I get the uncompressed size of gzip file without actually decompressing it?
Como você obviamente sabe, a opção -l
( --list
) geralmente mostra o tamanho descompactado.
O que ele mostra não é calculado a partir dos dados, mas foi armazenado no cabeçalho como parte do arquivo compactado.
No seu caso, a opção -l
não funciona por algum motivo.
Mas não é possível "medir" o tamanho descompactado dos dados compactados brutos - não há informações sobre qualquer outra coisa nos dados compactados - o que não surpreende, já que o ponto de compressão é deixar de fora qualquer coisa que não seja necessária. p>
Você não precisa armazenar os dados descompactados no disco: zcat file.gz | wc -c
é a abordagem correta - mas como @OleTange respondeu, seu zcat
parece não ser o de gzip
.
A alternativa é usar as gzip
options -d
( --decompress
) e -c
( --to-stdout
), combinadas com wc
option -c
( --bytes
):
gzip -dc file.gz | wc -c