AWK Split-Ausgabe mit der Linie

AWK Split-Ausgabe mit der Linie

Wie kann ich Ausgabezeilen mit tailf und awk auf diese Weise aufteilen?

Davon:

tail -f logfile.log | awk '/connected/ {print "\033[31m" $0 "\033[39m"}'

Ausgabe:

2018-01-31 10:00 user connected autentication successful
2018-01-31 10:10 user connected autentication successful
2018-01-31 10:23 user connected autentication successful
2018-01-31 10:34 user connected autentication unsuccessful
2018-01-31 10:35 user connected autentication unsuccessful

Zu dieser Ausgabe:

2018-01-31 10:00 user connected autentication successful
----------------------------------------------------------
2018-01-31 10:10 user connected autentication successful
----------------------------------------------------------
2018-01-31 10:23 user connected autentication successful
----------------------------------------------------------
2018-01-31 10:34 user connected autentication unsuccessful
----------------------------------------------------------
2018-01-31 10:35 user connected autentication unsuccessful

Dank im Voraus!

Antwort1

Wenn Sie möchten, dass die Trennlinien weiß sind:

tail -f logfile.log | awk '/connected/ {print "\033[31m" $0 "\033[39m\n-----------------------------------"}'

Wenn Sie möchten, dass die Trennlinie rot ist:

tail -f logfile.log | awk '/connected/ {print "\033[31m" $0 "\n-----------------------------------\033[39m"}'

Antwort2

Wenn Sie nur nach jeder Zeile drucken möchten ----------------------------------------------------------, legen Sie den ORS (Output Record Separator, Trennzeichen für Ausgabedatensätze) auf den Wert fest, der nach jeder Zeile stehen soll:

$ awk -v ORS='\033[39m\n----------------------------------------------------------\n' '/connected/ {print "\033[31m" $0}' foo
2018-01-31 10:00 user connected autentication successful
----------------------------------------------------------
2018-01-31 10:10 user connected autentication successful
----------------------------------------------------------
2018-01-31 10:23 user connected autentication successful
----------------------------------------------------------
2018-01-31 10:34 user connected autentication unsuccessful
----------------------------------------------------------
2018-01-31 10:35 user connected autentication unsuccessful
----------------------------------------------------------

Hier habe ich das \033[39maus dem printBefehl in das ORS verschoben und die Bindestriche mit Zeilenumbrüchen ( \n) umgeben.

verwandte Informationen