ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Emacs] 폴더 내에 속하는 파일들이 가지는 문자열 모두 치환하기
    Tech/Computer 2011. 7. 15. 10:03

    컴퓨터 작업을 하다보면, 폴더 내에 속하는 파일들을 모두 열어서 특정한 문자열을 모두 열어서 이를 다시 치환해야하는 노가다 작업에 맞딱드리기 쉽다. 이 때 Emacs를 이용하여 간단하게 해결할 수 있다.


    먼저 아래의 명령을 입력하면 찾고자 하는 정규식표현을 입력할 수 있는데, 이를 입력하면 하위 폴더를 포함하여 해당 문자열을 가진 파일들을 모두 검색해준다.


    M-x find-grep-dired




    검색된 파일들이 모두 *Find* 에 저장됨을 볼 수 있다. 이 때, t를 누르면 검색된 파일들이 모두 선택된다. (우분투 기본 테마에서는 빨간색으로 토글됨)


    이 때, Q (shift+q)를 누르면 문자열 치환 식이 나타나는데, 일반적인 정규식 표현 치환과 똑같다. 이 후에는 파일마다 검색된 부분이 나타나며, y 또는 n을 눌러서 치환을 하면 되는데, 일일히 입력하기가 귀찮다면 Y (shift+y)를 누르면 된다.


    이렇게 변경된 파일들은 여전히 버퍼에 머물게 되는데, 이를 하나씩 열어서 저장하기는 힘들다. 따라서 아래의 명령을 입력하자.

    M-x list-buffers




    이렇게 하면, 변경된 파일 리스트가 나타나는데 이 창에서 s를 누르면 해당 파일의 CRM이 S로 나타나게 된다. 저장하겠다는 뜻이다. 저장할 파일들을 모두 선택 후, x를 누르면 저장을 실행하게 되므로 한 번에 모든 파일들을 치환하여 저장할 수 있다.




    댓글

Copyright 2022 JY