一部のセクションに同じ構造の複数の段落があるテキストファイルを使用することがあります。次に例を示します。
Some unrelated preface I'm not interested in... Lorem ipsum dolor sit amet,
consectetur adipiscing elit. Etiam scelerisque.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Etiam scelerisque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam scelerisque.
001 [SomeTitle 1] - Some Subtitle 1
Name: SomeName
Area: SomeArea
Content: Some multi-line comment...Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Etiam scelerisque. Lorem ipsum dolor sit amet,
consectetur adipiscing elit. Etiam scelerisque.
002 [SomeTitle 2] - Some Subtitle 2
Name: SomeOtherName
Area: SomeOtherArea
Content: Some other multi-line comment...Lorem ipsum dolor sit amet, consectetur
adipiscing elit.
このようなファイルをクエリする簡単な方法を探しています。たとえば、「Area:SomeOtherArea」をクエリすると、結果はその領域を持つファイルのすべてのブロックになります。つまり、ヘッダー、名前、領域、コンテンツの4つの段落すべてを意味します。-Aおよび-Bオプションを指定してgrepを使用することもできますが、問題は、コンテンツの段落が任意の数の行で構成されている可能性があることです。そして、これはまさにこの特定の例です。構造が完全に異なる可能性があります。
軽量で簡単に適応できるソリューション、おそらくCLIツールの組み合わせを探しています。車輪の再発明はしたくありません。