awkでレコード区切り文字を保存できますか?

awkでレコード区切り文字を保存できますか?

レコードを最初の単語(デバッグや情報など)で区切って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 
===========================

私の試みの計画は

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

しかし、それは示しています

(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 
===========================

ベストアンサー1

RTを利用してください

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

おすすめ記事