É possível manter o separador de registros no awk?

1

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 
===========================
    
por user74176 12.04.2018 / 09:12

1 resposta

3

Você pode usar o RT

 gawk 'BEGIN{RS="(DEBUG|INFO)"; FS="\n"}{printf "%s%s", $0, RT}' log.txt 
    
por 12.04.2018 / 09:24