정규 표현식 질문

imcjswo의 이미지

어떤 텍스트 문서안의 '<' 시작해서 '>' 로 끝나는 필드만 제외하고 모두 삭제하고 싶은데요
한마디로 <test text> 만 출력하게 하고 싶습니다.

정규식이나 vi 안에서 내릴수 있는 명령은 뭐가될까요?

pynoos의 이미지

vim 에서 테스트 해보았습니다...
:%s/.\{-}\(<[^>]\+>\).\{-}/\1/g

% 는 파일 전체란 뜻이고
.\{-} ---> 될수있으면 적게 다음 매칭 앞에 있는 것들을 매칭하고
\(............\) ---> 이 안의 것을 다음 \1 에서 사용하며
<[^>]\+> ---> < 로 시작하여 > 아닌것들이 하나 이상 연속되다가 >를 만날 때까지 매칭하고
.\{-} ---> 될 수 있으면 적게 매칭( 0개 이상)해서

/\1/ ---> \( .. \) 안에 있던 < > 으로 치환하고,
g --> 그것을 한 줄에서 계속 반복하여라..