• 거의 무인도 입니다. 표류되어 같이 노실분?
    일주일 동안 열지 않기

컴퓨터/모바일

쓰기
  • 목록
  • 아래로
  • 위로
  • 0
  • 덕후
  • 2019.03.11. 00:22
  • 조회 수 92

폴더, 여러개 파일 속의 문자열 한방에 치환(Replace) 하기!

이 사이트에 필요한 모듈을 설치하려고 하는데, 계속해서 알 수 없는 에러가 발생해 그 원인을 찾던 중에 바뀐 PHP 버전에 맞게 특정 문자열을 바꿔야 한다는 것을 알게 되었고 하나하나 찾아서 바꾸려니까 성질날 것 같습니다.

 

리눅스에서는 비교적 간단하게 해결되는 부분인데, 윈도우에서도 가능할까 싶어서 찾아봤더니 프로그램이 있더군요!

 

해결방법을 찾는 도중에 윈도우 명령어인 'FINDSTR'로도 가능하다는 것을 알게됐는데 이 방법이 좀 더 직관적이고 쉽습니다. 고수님들은 파워쉘에서도 해결하실 수 있을 것 입니다.

 

윈도우에서 리눅스의 Grep, Find(+Perl 스크립트), Sed 기능을 써보자

저는 리눅스 초보라 검색을 해봤는데, 리눅스에서는 다양한 방법으로 쉘에서 명령어 한줄 입력하면 싹 해버릴 수 있더군요. 배우는데 시간이 좀 걸리긴 하지만 리눅스는 알아두면 많은 도움이 되는 것 같습니다. 집에 있는 미디어 서버도 리눅스로 돌리고 있는데 이렇게 강력한 운영체제가 무료인데다 오픈소스라니! 라는 생각이 자주 듭니다.

 

Windows Grep을 깔아봅시다.

정규식이 가능하다면 굉장히 기능을 활용할 수 있는 PowerGrep이라는 유료 툴도 있는데 159달러더군요. ㄷㄷ 좀 더 간단한 RegexBuddy도 있구요. 40달러던가..

 

다른 무료 툴은

등등 관련 프로그램들이 다양했는데요. 제가 별표 해놓은 것 들이 최근까지 개발되고 있고, 깔끔하니 사용법도 비슷해서 추천드리고 싶네요. 제가 다른 것으로 갈아타게 되면 글 마지막에 추가하겠습니다.

 

여기서 소개하는 윈도우 그렙은 무료 입니다.(윤그랩 생각나네요)

 

다운로드 : [구글 검색 결과] 여기서 하나 골라 받으세요. 제작자가 이걸로 돈을 못 벌었는지 사이트 닫아버렸습니다.

 

windows grep (1).jpg

설치하고나면 저렇게 마우스 우클릭 메뉴로 바로 사용할 수 있습니다.

 

간단한 사용법

제가 찾을 문자열은 'new Object' 입니다. 그리고 이것을 모두 'new BaseObject'로 바꿀 것 입니다.

 

windows grep (2).jpg

Search String에 내가 찾을 문자를 입력해 줍니다.

위 체크박스에서 Whole Words Only를 체크해주세요.

 

저게 무슨 차이냐면 우리가 만약에 '햄버거'란 단어를 '비빔밥'으로 바꿔야하는 상황일때 저 옵션을 체크해주지 않으면 '햄버거세트메뉴'란 단어까지 '비빔밥세트메뉴'로 바뀌어 버립니다.

 

ex라는 단어를 ax로 바꾸는데 excel이 axcel이 되어버리는거죠. 저 옵션을 체크해야 내가 원하는 단어,문자열이 바뀝니다. 그러면 excel은 그대로고 ex girlfriend가 ax girlfriend로 무사히 바뀝니다.. (???)

 

 

windows grep (3).jpg

  • File Specifications에서 특정 확장자를 가진 파일만 바꿀수도 있습니다. 무료 치고 굉장히 좋죠.
  • 아래 제가 노란색으로 강조해놓은 Recurse Folders를 체크하면 내가 선택한 폴더 안에 있는 하위폴더까지 모두 작업이 됩니다.

 

windows grep (4).jpg

테스트 해봤더니 하나의 문자열이 발견되었습니다.

 

windows grep (5).jpg

헉 이미지 확대범이 되어버렸네요.

 

저 버튼을 누르면 Replace(치환) 작업

 

windows grep (6).jpg

내가 원하는 문자열인 new BaseObject 입력

 

windows grep (7).jpg

 

  • Do you want to change the original file(s)? - 원본 파일이 변경되길 원하나?
    • Keep the Original file(s) intact and save changes in new file(s) - 원본 냅두고 작업된 파일은 새 파일로 저장(추천)
    • Make changes to the original file(s) - 원본 파일에 작업 저장
  • Do you want to confirm each replacement? - 하나 하나 허락 받고 바꿀까?
    • Replace all occurrences withour asking - 걍 싹 다 바꿔
    • Ask for confirmatoin before each replacement - 내가 하나씩 다 확인하고 OK하면 바꿔줘

 

windows grep (8).jpg

짜잔~

 

windows grep (9).jpg

저는 만약을 대비해서 원본파일을 두고, 내가 원하는대로 문자열 치환(string replacement) 작업이 완료된 것은 새 파일로 따로 저장하게 해놨기 때문에 위 처럼 new 파일이 하나 더 생겼습니다. 

 

이거 쓰고 호기심에 참지 못하고 다른것을 더 깔아봤다가 dnGrep으로 바꿨습니다. 다음 글(https://dukdo.com/it/1991)에 바로 간단 사용기 추가했습니다.

작성자
덕후 5 Lv. (37%) 2621/3240P

♥기록덕후♥

공유

facebooktwittergoogle pluspinterestbandkakao story
퍼머링크

댓글 0

권한이 없습니다.