Forum: PC Hard- und Software "echtzeit" grep auf logdatei


von Vlad T. (vlad_tepesch)


Lesenswert?

Hi,
ich habe ein Programm mit (sehr) langer Laufzeit, dass erzeugt eine 
Logdatei während des laufs.


Da steht aber sehr viel mehr Infos drin als ich brauch.

Ich möchte ein Echtzeitmonitoring-dieser Log-Datei mittels grep.

gibt es irgend ein tool, was ich an den Anfang der Pipe setzen kann?

die fertige Datei werte ich mittels
cat file.log | grep...
aus

das Programm müsste also in gewissen abständen die Datei neu einlesen 
und neue Zeilen auf die Standardausgabe legen

Beenden sollte es sich erst auf Kommando


Die Linux-Profis kennen doch bestimmt das richtige Werkzeug

Danke

von roffez (Gast)


Lesenswert?

Ja, klar geht das:

tail -f <file> | grep ...

von Vlad T. (vlad_tepesch)


Lesenswert?

wow, das ging ja fix!
Danke.

von Tom M. (tomm) Benutzerseite


Lesenswert?

> die fertige Datei werte ich mittels
> cat file.log | grep...
> aus

UUOC (useless use of cat), dafür gibt's eigentlich STDIN Umleitung. 
Ausserdem akzeptiert grep auch Dateinamen in der Parameterliste:

grep "blah" < file.log
oder
grep "blah" file.log

Falls file.log wegrotiert wird, ist tail -F sehr praktisch, da es die 
Datei neu öffnen wird. Mehr verrät dir "man tail".

von R. M. (rmax)


Lesenswert?

Falls der Langläufer das Log auch auf stdout ausgeben kann, könnte Dir 
das T-Stück helfen:

$ langlaeufer --logtostdout | tee log.file | grep blah

von anonym (Gast)


Lesenswert?

wenn nur in die log-datei ausgegeben wird und änderungen "laufend" 
überwacht werden sollen könnte "watch" praktisch sein:

z.b. watch -n 1 "tail -n 5 /tmp/log.log"

gibt jede sekunde die letzten fünf zeilen der datei /tml/log.log aus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.