格式化gzip文件

我有一组100个日志文件,使用gzip压缩。 我需要find匹配给定expression式的所有行。 我会使用grep,但是当然,这是一个噩梦,因为我将不得不一一解压所有文件,grep它们并删除解压缩的版本,因为如果它们不适合我的sevrer全部解压缩。

任何人都有一个关于如何快速完成的小技巧?

你可能看看zgrep

 >$ zgrep -h grep through gzip files usage: zgrep [grep_options] pattern [files] 

zgrep程序存在这个特定的目的。

http://linux.about.com/library/cmd/blcmdl1_zgrep.htm

或者,如果你的操作系统不带有zgrep ,就像这样。

 gunzip -c somefile1.gz [...] | grep 'string' 

有一个名为zcat的实用程序,它是一个在gzip文件上工作的cat版本。 在你的情况下,你可以做如下的事情:

 zcat yourfile.gz | grep 'serverfault is awesome' 

虽然zgrep似乎是自切片面包以来的第二好的事情,我想我会张贴替代…

您可以使用pipe道在擦除日志文件之前将其解压缩,而不占用磁盘空间。 例如:

 cat /var/log/program.log.*.gz | gunzip | grep 'stuff and things'