Linux Unix
[ Linux ] vi 문자열 치환
정윤재
2013. 11. 24. 20:25
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
로 고쳐주면 구분자가 # 이 되므로 무리 없이 단어를 바꾸어 줄 수 있다.