Serengeti schrieb:
Ich möchte die Ausgabe einer Anwendung filtern und Zeilen entfernen bevor ich sie nach systemd-cat sende. Wenn ich das mit grep mache, dann ist anschliessend die ganze Programmausgabe in einer Journal Zeile. Wie kann ich das verhindern?
Also, ich kann das für den allgemeinen Fall nicht bestätigen: mit seq 1 3 | systemd-cat -t foo -p debug
bekomme ich:
Dez 21 23:24:14 foo[13077]: 1
Dez 21 23:24:14 foo[13077]: 2
Dez 21 23:24:14 foo[13077]: 3
Möglicherweise sendet Dein Programm gar keine Zeilenumbrüche. Leite mal die Ausgabe Deines Programmes nach od -t x1c
um. Dann solltest du sehen, ob da \n auftauchen oder vielleicht nur \r.
aktuell verwende ich:
| BEFEHL |grep -v "text1"|grep -v "text2"|grep -v "text3"| systemd-cat -t identifier -p6
|
Man kann das noch etwas optimieren, indem man die grep
s zusammen fasst:
| BEFEHL | egrep -v 'text1|text2|text3' | systemd-cat -t identifier -p6
|
Das sollte allerdings nichts am Ergebnis ändern.