• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Gezippte .zp Logdateien nach Text durchsuchen

Cardo

Newbie
Ich möchte gezippte Logdateien nach Text durchsuchen

Eins vorweg: Ja ich weiß, dass das mit zgrep geht. Allerdings brauch ich ein eigenes Shell-Skript, 1. Weil ich was lernen will und 2. Zur späteren Weiterverarbeitung mit awk oder sed ist das besser.

Hier mein noch kleines Shellskript:

#!\bin\bash

## Suchen und Ausgeben

gunzip -c *$1*.gz | grep $2 -H --color

Suchen und Ausgeben funktioniert. Leider wird trotz des Parameters -H nicht das gewünschte File, sondern (standart input):gefundenes Wort ausgegeben.

Wie könnte ich das hinbiegen, dass das wie bei zgrep ausgegeben wird?

EIngabe wäre beispielweise: ./logsearch dateinamen_bestandteil zu_suchendes_wo
 
Cardo schrieb:
Suchen und Ausgeben funktioniert. Leider wird trotz des Parameters -H nicht das gewünschte File, sondern (standart input):gefundenes Wort ausgegeben.
Der Grund dafür ist ganz simpel: Es ist ganz einfach richtig, was grep da sagt. Die Datei, die grep da durchsucht, ist keine Datei auf dem Dateisystem, sondern die Standardeingabe, und deswegen ist es genau richtig, dass dort kein Dateiname, sondern "standard input" steht.
 
OP
C

Cardo

Newbie
Ja, dass das richtig ist, ist mir schon klar...

Wie könnte ich es hinbekommen, dass eben die Datei zum gefundenen Wort angegeben wird?

Ich hätte da noch so eine Idee:
Eventuell per find *1$*.gz >> und dann die ausgabe von find an gunzip übergeben. Wäre sowas machbar?
 
OP
C

Cardo

Newbie
Meine Frage wurde in einem anderen Forum gelöst:

http://www.buha.info/board/showthread.php?p=367667
 
Oben