Grep-ing gzip 文件

Grep-ing gzip 文件

我有一组 100 个日志文件,使用 gzip 压缩。我需要找到与给定表达式匹配的所有行。我会使用 grep,但当然,这有点麻烦,因为我必须逐个解压缩所有文件,然后 grep 它们并删除解压缩的版本,因为如果将它们全部解压缩,它们将无法全部容纳在我的服务器上。

有人有快速完成这件事的小技巧吗?

答案1

您也许可以看一下zgrep

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

答案2

zgrep计划就是为了这个特定目的而存在的。

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

答案3

或者,如果您的操作系统没有附带zgrep,则类似这样的内容。

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

答案4

虽然这zgrep似乎是自切片面包以来第二好的东西,但我想发布一个替代方案......

您可以使用管道在 grep 之前解压日志文件,这样不会占用磁盘空间。例如:

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

相关内容