2009-04-17 2 views
2

나는 라인은 ----- 어떤 가변 길이 문자열이 될 수 있습니다 나타냅니다는 "내 문자열을 추출>와</ 패턴

>------ </ 

내에서 다음과 같은 패턴을 갖는 파일에서 문자열을 추출하려합니다. 라인에서 시작 패턴은? 그래서 인쇄 할 수 있다면 VIM의 정규식을 사용하여

명령 줄 검색 가능하다?와.

>과 끝 패턴 </ 또는 스크립트를 작성해야합니다?

나는 VIM

에 새 사용자

답변

1

내가 만 유지하고 모든 데이터가 삭제 얻을해야이든 텍스트가 리디렉션 될 수 잡고는 휴식을 강조 표시된 텍스트를 필요로이

%:s/.*>\(.*\)<\/.*/\1/  
6

나는 다음과 같은 정력 검색하십시오 :

/">\(.*\)<\/ 

그 패턴으로 모든 라인을 일치해야합니다. 또한 시작과 끝 마커 사이에있는 텍스트를 \1에 저장합니다.이 텍스트는 vim에서 검색하고 바꿀 때 사용할 수 있습니다. 예를 들면 : 당신이 그 문자열을 검색하기 위해 명령 행에서 GREP을 사용하려면

:%s/">\(.*\)<\//Log message: \1/ 

당신은 사용할 수 있습니다 :이 foo.txt에서만 일치하는 행을 출력합니다

$ egrep "\">.*<\/" foo.txt 

. 새 파일 시도에이를 보내려면 :

$ egrep "\">.*<\/" foo.txt > new.txt 
+0

시도 다른 파일로? – kadeshpa

+0

아마도 하나의 욕심이 아닌 해결책일까요? –

+0

왜 큰 따옴표? – rampion

관련 문제