Разделение вывода AWK на строку

Разделение вывода AWK на строку

Как можно разделить выходные строки с помощью tailf и awk следующим образом?

Из этого:

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

Выход:

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

К этому выводу:

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

Заранее спасибо!

решение1

Если вы хотите, чтобы разделительные линии были белыми:

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

Если вы хотите, чтобы разделительная линия была красной:

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

решение2

Если все, что вам нужно, это печатать ----------------------------------------------------------после каждой строки, установите ORS (разделитель выходных записей) на то, что вы хотите, чтобы шло после каждой строки:

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

Здесь я переместил \033[39mв ORS из printкоманды и окружил дефисы символами новой строки ( \n).

Связанный контент