AWK divide la salida con la línea

AWK divide la salida con la línea

¿Cómo puedo dividir las líneas de salida usando tailf y awk de esta manera?

De esto:

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

Producción:

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

A esta salida:

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

¡Gracias de antemano!

Respuesta1

Si desea que las líneas separadoras sean blancas:

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

Si desea que la línea separadora sea roja:

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

Respuesta2

Si todo lo que desea hacer es imprimir ----------------------------------------------------------después de cada línea, configure el ORS (separador de registros de salida) en lo que desee que aparezca después de cada línea:

$ 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
----------------------------------------------------------

Aquí, moví el comando \033[39mal ORS printy rodeé los guiones con nuevas líneas ( \n).

información relacionada