现在我有一个匹配这种格式的多行字符串:
---
some text
more text
MATCH: FIRST
more text
---
some text
more text
---
some text
MATCH: SECOND
more text
---
some
more
MATCH: THIRD
text
here
---
我正在寻找一种在 bash 中的方法(最好使用 sed)来删除它们之间---以及它们之间---是否存在的所有内容。即对于上面的例子,我希望我的输出看起来像:MATCH: FIRSTMATCH: SECOND
---
some text
more text
---
some
more
MATCH: THIRD
text
here
---
出于我的目的,我并不关心分隔符是否被删除(the ---)。任何帮助表示赞赏。
我得到的最接近的是沿着这些方向做一些事情:
sed -e "/---*[MATCH: ]FIRST\|SECOND[^---]/,/---/d"
但我似乎错过了一些东西。