베스트셀링 인기 워드프레스 테마 Top 30 자세한 정보

여러 텍스트/HTML 파일에서 문자열 일괄 변경

Last Updated: 2022년 12월 5일 | 2개 댓글

간혹 많은 텍스트 문서에서 일부 문구를 일괄 변경해야 하는 상황이 있습니다. 이 경우 리눅스를 사용하는 경우 간단한 명령으로 모든 텍스트 파일에서 문자열을 일괄 변경할 수 있습니다. 윈도우 환경에서는 텍스트 일괄 변경을 지원하는 텍스트 편집기를 사용할 수 있습니다.

리눅스에 익숙한 경우에는 아래의 "Linux 커맨드 라인에서 복수 파일의 문자열 일괄 변경하기"를 참고하시고, 윈도우 사용자는 "텍스트 편집기에서 문자열 일괄 변경하기" 부분을 살펴보시기 바랍니다.

여러 텍스트/HTML 파일에서 문자열 일괄 변경

Linux 커맨드 라인에서 복수 파일의 문자열 일괄 변경하기

디렉터리와 서브 디렉터리 내의 모든 파일에 문자열을 변경하려는 경우, "Find a string and replace in all files inside a directory and sub-directory" 문서에서 제시하는 다음과 같은 명령을 사용할 수 있습니다.

find -type f -exec sed -i 's/abc/xyzg' {} +

각 명령어의 의미는 다음과 같습니다.

  • -type f : 파일만 찾음 (디렉터리는 제외)
  • -exec : 각 파일에 대하여 실행...
  • sed -i : 해당 위치에서 파일 편집
  • s/abc/xyz/g : 모든 라인에서 모든 "abc" 문구를 "xyz"로 교체
  • {} + : 여러 파일 이름에서 "exec" 명령을 한 번에 호출

"How to replace a string in multiple files in linux command line(리눅스 명령줄에서 복수 파일의 문자열 변경 방법)" 문서도 참고해보세요.

Bluehost VPS와 같은 VPS 호스팅을 이용하거나 클라우드웨이즈(Cloudways)를 사용하는 경우 SFTP를 통해 파일들을 업로드한 후에 SSH에 접속하여 위의 명령을 적절히 응용하여 시도해볼 수 있을 것입니다.

클라우드웨이즈는 3일 동안 무료로 이용할 수 있으므로, 서버를 생성하여 작업을 마친 후에 서버를 삭제하면 비용 부담 없이 테스트해볼 수 있습니다. 또한, 이런 작업이 자주 있는 경우에도 며칠 정도만 서버를 생성하여 이용하는 것도 가능합니다. 그러면 사용한 만큼만 요금이 청구되므로 소액의 요금이 부과됩니다.

텍스트 편집기에서 문자열 일괄 변경하기

일부 고급 텍스트 편집기에서 여러 파일의 문자열을 일괄 변경하는 기능을 제공합니다. Ultra Edit라는 프로그램이 이 기능을 제공하는 것 같습니다.

저는 EmEditor라는 유료 프로그램을 오랫동안 사용해오고 있습니다. 이 프로그램에서도 텍스트 기반 파일(txt, html, css...)에서 문자열 일괄 변경 기능을 제공합니다.

EmEditor는 30일 동안 무료로 사용할 수 있는 체험판을 제공할 것입니다.

여러 텍스트 기반 파일에서 일괄 변경하려는 경우 해당 파일들이 있는 폴더의 최상위 폴더에서 아무 파일을 Emeditor로 엽니다.

검색 » 파일 내 바꾸기를 클릭합니다. (또는, Ctrl+Shift+H 단축키를 누릅니다.)

여러 텍스트/HTML 파일에서 문자열 일괄 변경 3

파일 내 바꾸기 팝업이 표시됩니다.

여러 텍스트/HTML 파일에서 문자열 일괄 변경 4

위와 같은 창에서

  • 찾기: 바꾸고자 하는 기존 문자열을 입력합니다.
  • 바꾸기: 새 문자열을 입력합니다.
  • 파일 유형: 파일 유형을 지정합니다. 여러 파일 유형을 지정할 수 있습니다. 여러 파일 유형을 지정하려는 경우 세미콜론(;)으로 구분합니다. 모든 파일에서 바꾸려는 경우 *.*를 입력하면 됩니다.

아래의 "하위 폴더 내에서 찾기"를 체크하면 해당 디렉터리 내의 모든 하위 폴더 내에 있는 파일에서도 찾기/바꾸기가 수행됩니다.

또한, 정규식도 지원됩니다. 정규표현식을 조금 알면 보다 정교하게 찾기/바꾸기가 가능합니다. 예를 들어, 티스토리 백업을 받아서 워드프레스로 이전하려고 하는 경우, 이미지 파일들의 이름에서 공백을 없애고 html 파일 내의 이미지 경로에서도 공백을 없애야 합니다.

위의 글에 제시된 코드를 사용하여 HTML 파일 내의 모든 이미지 경로에서 공백을 하이픈(-)으로 바꿀 수 있습니다.

저는 오랫동안 번역을 해왔습니다. 간혹 수 백 개나 되는 HTML 파일들을 번역하는 작업을 맡곤 했는데요. 번역 중에 수정할 사항이 발견되면 수 백 개나 되는 파일에서 문제의 문구를 찾아서 수정하는 것이 쉬운 일이 아니었습니다. 이런 상황에서 EmEditor를 유용하게 사용했습니다. 이제는 트라도스에서 제공하는 "Integrated Search Views" 앱을 사용하여 편리하게 검색이 가능합니다.

참고


2 개 댓글

Leave a Comment

  1. 안녕하세요. 얼마 전 사이트를 하나 만들려고 클라우드웨이즈에서 계정을 하나 만들어서 무료체험 기간중입니다. 제가 클라우드웨이즈에서 만들어서 그런건지 html 편집을 어떻게 하는지 모르겠습니다.
    그냥 취소하고 블루호스트로 가야하는건지요..
    답변 주시면 정말 감사하겠습니다

    응답
    • 안녕하세요, 워린이님. 블로그를 운영하려는 경우에는 저렴하게 이용할 수 있는 블루호스트(Bluehost)를 고려해볼 수 있습니다. 무거운 테마를 사용하는 사이트인 경우 Cloudways도 괜찮은 선택 같습니다. 구체적으로 무엇을 편집하시려고 하시나요? 워드프레스는 PHP 기반이기 때문에 HTML 파일을 편집하듯이 수정할 수 없습니다.

      응답