디렉토리내 파일 검색및 치환
글쓴이: rainmon / 작성시간: 화, 2005/12/06 - 6:12오후
여러 디렉토리중 특정 디렉토리내 파일및 서브 디렉토리안의 파일들의 내용중 검색조건에 맞는 문자열(단어가 아니라 문장)이 발견되면 치환하는 작업을 하려는데 어떤 방법을 쓰는게 가장 쉽고 편할까요?
아크로에디터는 기본적으로 지원하는 줄 알고있고
에디터플러스는 열려진 파일들에 대해 일괄적용이 가능한 줄 아는데
emacs에서는 어떤 방법이 있는지 모르겠습니다.
이건 사담인데.. 회사 동료가 '걍 에디터플러스 써~ 쫌 제발..' 이러는 군요. 쉬운길 놔두고 왜 자꾸 어렵게 가려냐면서 안타까워 하네요. 저는 이게 재밌는데 이해를 못하나 봅니다. ㅠ_ㅠ
Forums:
1. 특정 디렉토리를 C-x C-f로 엽니다. (dired 모드 시작)
1. 특정 디렉토리를 C-x C-f로 엽니다. (dired 모드 시작)
2. 서브 디렉토리 내용까지 다 보기 위해서 C-u s를 누른 다음, ls option "-al"을 "-alR"로 바꿉니다. (이제 모든 파일을 볼 수 있습니다.)
3. 원하는 파일들을 선택합니다. 전체 선택/비선택은 't' 키로, 현재 줄 파일 선택은 'm', 현재 줄 파일 선택 해제는 'u', 전체 선택 해제는 'U', 주어진 regexp를 만족하는 파일 선택은 '% m REGEXP <RET>'입니다. 즉 '% m \.c$'는 모든 .c파일들을 선택합니다. 강력한 명령으로, 주어진 regexp pattern을 만족하는 내용을 가진 파일들을 선택하는 명령은 '% g regexp <RET>'입니다.
4. 선택한 파일에서 특정 regexp를 내용으로 가진 파일들을 대상으로 치환하기 위해 'Q REGEXP <RET> TO <RET>' 명령을 실행하면 (선택한 파일들을 대상으로) REGEXP를 TO로 바꿔줍니다. 물론 이 작업은 일일히 물어보기 때문에 한꺼번에 확 바꾸려면 '!'를 계속 입력해 주어야 합니다.
5. 치환 도중 다른 명령을 입력한 경우, M-, 명령을 쓰면 다시 치환 작업을 수행합니다.
정말 오늘따라 Emacs 질문이 많네요. 흐뭇~ 8)
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
[code:1]vim -c "argdo %s/ABC/DEF/g
vim -c "argdo %s/ABC/DEF/g | w" *.txt
위처럼 쓸수도 있으니까 vim 으로도 못할건 없을 듯 하네요 ;)
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
[quote="cinsk"]1. 특정 디렉토리를 C-x C-f로 엽니다.
와~ 감사합니다. 이번 질문은 답변받기가 힘들줄 알았는데 ^^
5번의 경우 이게 재귀편집이라는 기능인것 같네요.
이런게 된다면 회사 동료들에게 emacs를 써야하는 이유를 설명하는데 충분하겠습니다. ㅋㅋ
댓글 달기