小智 73
如果文件仍然被压缩,您显然不能计算换行符。
但是您可以解压缩到一个流,并计算该流中的换行符,而无需将(解压缩的)文件写入磁盘。那会是这样的:
zcat file.gz | wc -l
Run Code Online (Sandbox Code Playgroud)
zcat 用于解压和 cat,wc 用于 wordcount。如果您想了解更多信息,请参阅两者的手册页。
编辑
如果您没有 zcat,那么 zcat 只是gunzip -c
.
小智 7
如果您想快速完成,我建议使用“pigz”(IIRC 代表“GZip 的并行实现”)。我只是遇到了类似的情况,我想计算一堆 gzip 文件中的行数,这是我的解决方案:
for x in *.gz; do unpigz -p 8 -c $x | wc -l && echo $x; done
Run Code Online (Sandbox Code Playgroud)
这给了我使用 8 个处理器在交替行上计数的行数和文件。它跑得很快!