Grepping através de arquivos de log .gz

14

Existe um encanamento mágico do shell que permitiria facilmente navegar através de vários arquivos de log .gz sem a necessidade de extraí-los em algum lugar?

Os arquivos .gz são logs do Apache, resultado da rotação dos logs. Gostaria de verificar rapidamente com que frequência certos URIs são acessados ​​no passado.

Mikko Ohtamaa
fonte

Respostas:

23

O programa zgrep está disponível para Linux (e talvez também para Unix). Isso irá descompactar os arquivos e depois cumprimentá-los.

user9517
fonte
5
+1. Veja também: zcat, zegrep, zmore, zless...
SmallClanger
7

Se, por algum motivo, não tiver o zgrep, você pode fazer o mesmo com o gunzip e o pipe:

gunzip -c <filename.gz> | grep <whatever you want to grep for>
pehrs
fonte
4

Você pode apenas usar zgreppara grep através de arquivos compactados.

Se você precisar usar um grep específico, poderá definir a variável de ambiente GREP:

export GREP=/bin/egrep
Cakemox
fonte
2

E o zgrep? Parece estar instalado no Mac OS e no Ubuntu 11.04.

dkam
fonte
1

Eu costumo usar:

zcat filename.gz | less

garconcn
fonte