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