テキストファイルから複数行をgrep

テキストファイルから複数行をgrep

テキストファイルから複数行をgrepする方法を知っている人はいますか?私は多くの結果を見ましたが、まだ正常に動作しません。

テキストファイルの例:

x
x
x
---
start
a
b
c
d
---
x
x
x

私はこれをファイルから取得したいと思います。

---
start
a
b
c
d
---

短くても(ab)長くても(abcdefg)、常に次から始めます。

---
start

そして次に終わります:

---

ありがとう

ベストアンサー1

次の-zオプションが利用可能ですgrep

-z、--null-dataデータラインは改行ではなく0バイトで終わります。

$ grep -zo -- '---.start[^-]*---' file
---
start
a
b
c
d
---

おすすめ記事