본문 바로가기
Linux Unix

[ Linux ] vi 문자열 치환

by 정윤재 2013. 11. 24.

vi 에서 특정 라인의 문자열을 변경 할 수도 있고


전체의 문자열을 변경 시킬 수도 있다.


특정 라인의 변경은


:5s/aaaa/bbbb/g


는 5번째 라인의 aaaa 라는 단어를 bbbb로 바꾸세요 라는 뜻이다.


특정 영역을 바꾸고자 하면


:1,5s/aaaa/bbbb/g


1~5번째 줄의 aaaa라는 단어를 bbbb로 바꾸세요 라는 뜻이고



글 전체 변경은


:1,%s/aaaa/bbbb/g


는 1~글 마지막까지 aaaa 를 bbbb 로 바꿔주세요 라는 뜻이다.


이걸 바꿔서


:%s/aaaa/bbbb/g 라고 할 수도 있다.


/g 를 안넣어주면 각 라인의 첫번째 단어만 바꾸어 준다.


근데 문제는 문자열 중에 / 가 들어가면 어떻게 해야 할까?


s 다음에 구분자를 넣어주는 건데 


:5s/aa/aa/bb/bb/g


를 


:5s#aa/aa#bb/bb#g


로 고쳐주면 구분자가 # 이 되므로 무리 없이 단어를 바꾸어 줄 수 있다.



댓글