Você pode usar o RT
gawk 'BEGIN{RS="(DEBUG|INFO)"; FS="\n"}{printf "%s%s", $0, RT}' log.txt
Gostaria de separar o registro pela primeira palavra (por exemplo, DEBUG ou INFO) e mantenha o RS.
mas executa o programa, o awk remove o RS.
Como manter isso?
log.txt é
DEBUG:[2018-04-09 13:00:01]
=========================
START LOG
:
:
END LOG
===========================
DEBUG:[2018-04-09 13:00:02]
INFO:[2018-04-09 13:00:03]
DEBUG:[2018-04-09 13:00:04]
=========================
START LOG
:
:
END LOG
===========================
meu programa tentando é
$gawk 'BEGIN{RS="(DEBUG|INFO)"; FS="\n"}{print RS$0}' log.txt
mas mostra
(DEBUG|INFO):[2018-04-09 13:00:01]
=========================
START LOG
:
:
END LOG
===========================
(DEBUG|INFO):[2018-04-09 13:00:02]
(DEBUG|INFO):[2018-04-09 13:00:03]
(DEBUG|INFO):[2018-04-09 13:00:04]
=========================
START LOG
:
:
END LOG
===========================
Tags command-line linux osx