Grepping através de arquivos de log .gz

14

Existe um encapsulamento de shell mágico que permitiria facilmente o grep através de vários arquivos de log .gz sem precisar extraí-los em algum lugar?

Os arquivos .gz são logs do Apache, resultado da rotação de log. Gostaria de verificar rapidamente quantas vezes determinados URIs são acessados no passado.

    
por Mikko Ohtamaa 11.05.2011 / 14:10

5 respostas

22

O programa zgrep está disponível para Linux (e talvez também para alguns Unix) . Isso irá descompactar os arquivos e depois passar por eles.

    
por 11.05.2011 / 14:13
7

Se, por algum motivo, você não tiver zgrep, poderá fazer a mesma coisa com gunzip e um pipe:

gunzip -c <filename.gz> | grep <whatever you want to grep for>
    
por 11.05.2011 / 14:24
4

Você pode usar apenas zgrep para pesquisar arquivos compactados.

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

export GREP=/bin/egrep
    
por 11.05.2011 / 14:14
2

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

    
por 11.05.2011 / 14:13
0

Eu costumo usar:

zcat filename.gz | less

    
por 30.05.2011 / 06:40