sedを使用した2つの文字列間のテキストの抽出

sedを使用した2つの文字列間のテキストの抽出

複数の形式のファイルを生成するには、AdaBrowse Htmlジェネレータを使用する必要があります。残念ながら、これらすべてのファイルには、一貫した形式に従わない各関数またはプロシージャの前にヘッダーが含まれています。

-- Example 1 - new
--##################################################
-- Name: Example
-- Version: 1.0
-- Description: Shows Example
-- a 12-bit field containing the an example.
-- Inputs: AN_Example.
-- Outputs: None
-- Return Values: Examples
-- Callers:
--
-- Callees:
--
----------------------------------------------------------

-- Example 2 - new
--##################################################
-- Name: Example
-- Version: 1.0
-- Description: 
-- Shows More Examples
-- in a 12-bit field containing the an example.
-- 
-- Inputs: AN_Example.
-- Outputs: None
-- Return Values: Examples
-- Callers:
--
-- Callees:
--
----------------------------------------------------------

AdaBrowseにはsedを使用する本当にクールな書式設定オプションがありますが、「--Description:」から「--Inputs:」まで(含まれていない)行だけを抽出することはできません。

私が得た最も近いコマンドは次のとおりです。

sed -r 's/.*(Description:[^Inputs:]*).*/\1/g

しかし、それはすべてをキャッチしました。上記の行をどのように抽出できますか?

答え1

AdaBrowseを使ったことはありませんが、

sed '/-- Description:/,/-- Inputs:/!d;/-- Inputs:/d'

あなたが試してみることができるように、例えば見てみましょう。

関連情報