如何在某些模式之间打印行时保留文件的第一行?

如何在某些模式之间打印行时保留文件的第一行?

我正在尝试删除以 <0>:: 开头的模式之间的行

希卡 123
美国广播公司::
0 0 1 五月 8 00:03:17 2019
没有意见
ABC#rra#:L
1 1 2 五月 8 00:03:18 2019
没有意见
慢性肾脏病学会::
0 0 1 五月 8 00:03:17 2019
没有意见

我可以使用以下 sed 命令来实现

sed -n -e '/::/,/#rra#:/{/#rra#:/d; p; }

不幸的是,这个模式忘记了以 <0>:: nd 开头的第一个模式之前的所有内容,仅打印

美国广播公司::
0 0 1 五月 8 00:03:17 2019
没有意见
慢性肾脏病学会::
0 0 1 五月 8 00:03:17 2019
没有意见

我还需要保留第一行,它被上面的 sed 命令删除了。有没有办法可以保留第一行以及上面的代码,即...

希卡 123
美国广播公司::
0 0 1 五月 8 00:03:17 2019
没有意见
慢性肾脏病学会::
0 0 1 五月 8 00:03:17 2019
没有意见

提前感谢您的帮助。

问候, Shikha

相关内容