sed를 사용하여 두 문자열 사이의 텍스트 추출

sed를 사용하여 두 문자열 사이의 텍스트 추출

여러 형식의 파일을 생성하려면 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'

당신이 시도해 볼 수 있도록 예를 들어 보겠습니다.

관련 정보