データセグメントをログ出力に混在させるプログラムがあります。
log message
log message
----BEGIN INLINE DATA----
data
data
data
-----END INLINE DATA-----
log messge
似たようなものを探していますが、
awk '/-BEGIN INLINE DATA-/,/-END INLINE DATA-/'
ただし、周囲の「ラベル」ではなく最後のデータセグメントのみを印刷する必要があります。
ベストアンサー1
awk を使用して開始マーカーの後にデータの蓄積を開始し、終了マーカーに出会うと停止します。新しいスタートマーカーが表示されたら、データアキュムレータを再初期化します。
awk '
/-BEGIN INLINE DATA-/ {data = ""; storing = 1}
/-END INLINE DATA-/ {storing = 0}
storing {data = data "\n" $0}
END {print data}
'