逐行读取巨大的tar.gz文件流



经过一些负载测试后,我只有一个60 GB的日志文件(由于该文件使用了所有可用磁盘空间,因此测试停止)。为了能够继续使用服务器,我不得不对这个文件进行tar gzip,但现在我想查询这个文件,而不需要将其作为一个整体拆包。有没有一种方法可以使用linux命令行中的工具逐行读取这个文件?

实际上,您可以简单地在vim中打开.bz2或.gz文件。

vim file.tar.bz2

在那里做你的工作。

您可以将bzcat甚至bzgrep与.bz2一起使用,与zcat或zgrep使用.gz.相同

然而,bzcat并没有节省太多,因为它实际上还可以将文件解包到stdout中。所以,如果你想grep它,使用zgrep或bzgrep。

它可以很好地处理巨大的文件。

bzgrep "pattern" file.tar.bz2
bzcat file.tar.bz2

在OSX 10.10 上测试

在CentOS 6 上测试

zcat file.tar.gz | tar -x -O -f -

最新更新