grep 文本文件中的多行

Nic*_*cco 2 grep files text

有谁知道如何从文本文件中 grep 多行?我用谷歌搜索了很多结果,但仍然没有完全发挥作用。

文本文件示例:

x
x
x
---
start
a
b
c
d
---
x
x
x
Run Code Online (Sandbox Code Playgroud)

我只想从文件中获取这个:

---
start
a
b
c
d
---
Run Code Online (Sandbox Code Playgroud)

它可以更短 (ab) 或更长 (abcdefg),但始终以以下内容开头:

---
start
Run Code Online (Sandbox Code Playgroud)

并以以下内容结尾:

---
Run Code Online (Sandbox Code Playgroud)

多谢

sch*_*ity 5

您可以使用-z以下选项grep

-z, --null-data 数据行以 0 字节结束,而不是换行符

$ grep -zo -- '---.start[^-]*---' file
---
start
a
b
c
d
---
Run Code Online (Sandbox Code Playgroud)