是否可以在 awk 中保留记录分隔符?

use*_*176 3 linux command-line osx

我想按第一个单词(例如 DEBUG 或 INFO)分隔记录并保留 RS。

但是执行程序,awk 删除了 RS。

如何保持?

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 
===========================
Run Code Online (Sandbox Code Playgroud)

我的尝试程序是

$gawk 'BEGIN{RS="(DEBUG|INFO)"; FS="\n"}{print RS$0}' log.txt
Run Code Online (Sandbox Code Playgroud)

但它显示

(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 
===========================
Run Code Online (Sandbox Code Playgroud)

Bha*_*rat 5

你可以用RT

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