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

时间:2015-04-02 09:38:48

标签: bash unix tar

经过一些负载测试后,我有一个60 GB的日志文件(测试已停止,因为此文件使用了所有可用的磁盘空间)。为了能够继续使用服务器,我不得不tar-gzip这个文件,但现在我想查询这个文件,而不是整个解压缩。有没有办法使用linux命令行中提供的工具逐行读取此文件?

2 个答案:

答案 0 :(得分:0)

在CentOS 6上测试

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

答案 1 :(得分:0)

实际上,您只需在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上测试