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
> 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".
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.