Os comandos sed
, perl
e awk
que você mencionou podem estar corretos, mas todos eles lêem os dados compactados e contam caracteres de nova linha. Esses caracteres de nova linha não têm nada a ver com os caracteres de nova linha nos dados não compactados.
Para contar o número de linhas nos dados não compactados, não há como descompactá-lo. Sua abordagem com zcat
é a abordagem correta e, como os dados são muito grandes, será necessário tempo para descompactá-los.
A maioria dos utilitários que lida com a compactação e descompactação gzip
provavelmente usará as mesmas rotinas de biblioteca compartilhada para fazer isso. A única maneira de acelerá-lo seria encontrar uma implementação das rotinas zlib
que são de alguma forma mais rápidas que as padrão, e reconstruir, e. zcat
para usá-los.