Durchsuchen von .gz-Protokolldateien

14

Gibt es eine magische Shell-Piping-Funktion, mit der sich problemlos mehrere .gz-Protokolldateien durchsuchen lassen, ohne sie irgendwo extrahieren zu müssen?

.gz-Dateien sind Apache-Protokolle, Ergebnis der Protokollrotation. Ich möchte schnell überprüfen, wie oft in der Vergangenheit auf bestimmte URIs zugegriffen wurde.

Mikko Ohtamaa
quelle

Antworten:

23

Das Programm zgrep ist für Linux verfügbar (und möglicherweise auch für einige Unix- Versionen ). Dadurch werden die Dateien dekomprimiert und dann durchsucht.

user9517
quelle
5
+1. Siehe auch: zcat, zegrep, zmore, zless...
SmallClanger
7

Sollte Ihnen aus irgendeinem Grund zgrep fehlen, können Sie dasselbe mit gunzip und einer Pfeife tun:

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

Sie können nur zgrepzum Durchsuchen komprimierter Dateien verwenden.

Wenn Sie ein bestimmtes grep verwenden müssen, können Sie die GREP-Umgebungsvariable festlegen:

export GREP=/bin/egrep
Cakemox
quelle
2

Wie wäre es mit zgrep? Scheint unter Mac OS und Ubuntu 11.04 installiert zu sein.

dkam
quelle
1

Ich benutze normalerweise:

zcat filename.gz | less

garconcn
quelle