2012-10-11 4 views
2

이 태그와 기호 사이에 다음과 같은 제목 텍스트를 어떻게 얻을 수 있습니까?SED 복수 동일 문자 사이의 일치

내가 잡아 필요가있는 무엇 :

Some Title Here v1.2.3 Some Other Description About the Title in Here 

예제 소스 코드 :

<body><pre>============================================================= 
Some Title Here v1.2.3 Some Other Description About the Title in Here 
============================================================= 

some other data here but I don't care about it ... 

</pre></body></html> 

내가이 일을 시도했지만, 그것도 사전 태그 앞에도 전체 상단 부분을 잡고 있지만, 울부 짖는 부분 그것도 잡는 것을 제외하고는 잘 작동하는 것 같다. 이 이상 나오지 코드에서

sed -n '/<pre>=/,/=/p 

결과는이 약

<body><pre>============================================================= 
Some Title Here v1.2.3 Some Other Description About the Title in Here 
============================================================= 

모든 의견이 apreceated 될 것이다.

답변

3

한 가지 방법은 GNU sed 사용) 정말 감사하고, 항상 StackOverflow의는 Q의에 가장 적합한 지역이며, A의 =

sed -n '/<pre>=/,/=/ { //!p }' file.txt 

결과 :

Some Title Here v1.2.3 Some Other Description About the Title in Here 

설명 :

//!psed에게 마지막으로 일치하는 것을 무시하도록 알려줍니다.

+0

이 사람은 아주 잘했다. 고맙습니다. – Tux

0

영업 이익의 솔루션 업데이트 : 당신이-사이의 선으로 남아 있도록

$ sed -n '/<pre>=/,/=/{/=$/d;p;}' file 
Some Title Here v1.2.3 Some Other Description About the Title in Here 

선택된 라인의 범위를 =로 끝나는 삭제합니다.

+0

이 태그는 작동하지만 이전 태그와 pre 태그를 모두 잡고 여전히 같음 기호 (=)를 찾습니다. 하지만 고마워. :) – Tux

0

당신 (GNU이 나오지도)에 대한이 작동 할 수는 :

sed '/^<body><pre>=\+$/,/^=\+$/!d;//d' file 
+0

이것은 작동하지 않지만 감사합니다. – Tux