我正在寻找两个匹配模式之间的界限。如果缺少任何开始或结束模式,则不应打印行。
正确输入:
a
***** BEGIN *****
BASH is awesome
BASH is awesome
***** END *****
b
Run Code Online (Sandbox Code Playgroud)
输出将是
***** BEGIN *****
BASH is awesome
BASH is awesome
***** END *****
Run Code Online (Sandbox Code Playgroud)
现在假设输入中缺少 END 模式
a
***** BEGIN *****
BASH is awesome
BASH is awesome
b
Run Code Online (Sandbox Code Playgroud)
不应打印行。
我试过 sed:
sed -n '/BEGIN/,/END/p' input
Run Code Online (Sandbox Code Playgroud)
如果缺少 END 模式,它将打印到最后一行的所有数据。
如何解决?