gVim 7.2 반복패턴 순서바꾸기 좀 도와주세요.
글쓴이: garam111 / 작성시간: 금, 2010/07/16 - 3:57오후
탭으로 구분된 텍스트파일의 순서 바꾸기를 할때 저는 주로 아래와 같이 사용하는데요..
aaa bbb ccc
:%s/\(.*\)\t\(.*\)\t\(.*\)\t/\3 \2 \1/g
ccc bbb aaa
위와 같이 변경이 됩니다.
근데 이걸 아래와 같이 처리할 수도 있을 것 같은데 잘 안돼서요.. ㅜ.ㅜ
:%s/\(.*\t\)\{3}/\3 \2 \1/g
요렇게 하면 \1에 ccc만 할당이 되네요.. ㅜ.ㅜ
위의 경우처럼 패턴 반복되는 경우에 좀더 쉽게 처리할 수 있는 방법 좀 알려주세요..
Forums:
$ cat test.txt aaa bbb ccc $
펄이나 루비같은걸 도입해보시길 권합니다.
언제나 삽질 - http://tisphie.net/typo/
프로그래밍 언어 개발 - http://langdev.net
언제나 삽질 - http://tisphie.net/typo/
프로그래밍 언어 개발 - http://langdev.net
>
> :%s/\(.*\)\t\(.*\)\t\(.*\)\t/\3 \2 \1/g
이 부분을 function으로 구현해두고 쓰셔도 될 것 같은데요.
function, eval 이 두가지만 보셔도 충분히 구현하실 수 있는 내용인 것 같습니다.
> 근데 이걸 아래와 같이 처리할 수도 있을 것 같은데 잘 안돼서요.. ㅜ.ㅜ
> :%s/\(.*\t\)\{3}/\3 \2 \1/g
왜 안되는지는 아래를 참고 하시면 될 것 같습니다.
:help /\1
\1 Matches the same string that was matched by */\1* *E65*
the first sub-expression in \( and \). {not in Vi}
Example: "\([a-z]\).\1" matches "ata", "ehe", "tot", etc.
--
I think to myself...what a emerging world.
--
I think to myself...what a emerging world.
댓글 달기