我有一个需要处理的多行日志条目格式。
日志看起来像这样:
--START--
Device=B
Data=asdfasdf
Lorem=Ipsum
--END--
--START--
Device=A
Data=asdfasdf
Lorem=Ipsum
--END--
--START--
Device=B
Data=asdfasdf
--END--
--START--
Device=A
Data=asdfasdf
--END--
--START--
Device=B
Data=asdfasdf
--END--
--START--
Device=C
Data=asdfasdf
Lorem=Ipsum
--END--
Run Code Online (Sandbox Code Playgroud)
我想打印之间的一切--START--与--END--某一特定模式匹配。
例如:
打印所有条目 Device=A
--START--
Device=A
Data=asdfasdf
Lorem=Ipsum
--END--
--START--
Device=A
Data=asdfasdf
--END--
Run Code Online (Sandbox Code Playgroud)
到目前为止我能做的就是写:
sed -e -n '/--START--/,/--END--/p' < input
Run Code Online (Sandbox Code Playgroud)
这有效地打印了输入,但我认为我需要添加{}到过滤器,N然后打印该条件是否匹配。
我也觉得我完全迷失了。
如果单行符合条件,如何打印多行的任何想法?