如何从压缩文件中提取行的间隔/范围?

时间:2016-10-05 02:15:54

标签: linux zcat

如何从100mil行* .gz文件返回行间隔?

我们说我需要5密耳的行,从15mil到20mil?

这是表现最佳的选择吗?

zcat myfile.gz|head -20000000|tail -500
real    0m43.106s
user    0m43.154s
sys     0m9.259s

1 个答案:

答案 0 :(得分:1)

这是一个非常合理的选择;因为您不知道一条线的长度,所以您基本上必须解压缩并迭代线以找出线分隔符的位置。所有这三种工具都经过了相当大的优化,因此无论如何,I / O和解压缩时间都可能占主导地位。

理论上,在单个可执行文件中滚动自己的解决方案将所有三个工具组合在一起可能会节省一些(通过降低IPC的成本),但节省的费用可能微乎其微。