Regular Expression 은 어떠한 규칙에 따라서 문자열을 찾는 방식인데, 별거 아닌 것처럼 보여도, 정말 많은 작업을 손쉽게 해결할 수 있는 강력한 힘을 가지고 있다. 처음에는 이것에 대해서 Java 책에서 알게 됐었는데, 사실 언어와 상관 없는 표현법이기도 하고, 정말 다양한 곳에서 사용될 수 있는 강력한 무기다(이전에 Visual Studio 에서 이것을 이용하는 방법을 설명했었다. - 블로그 링크).
몇개 안써보긴 했지만, 써본 것 중에 가장 편리한 프로그램은 12noon 의 Rename Regular Expression 이라는 프로그램이다.
이왕 프로그램 소개하는거, 예제를 넣어서 살펴보겠다.
- Qatar, Losail - Race 1.mp4
- Qatar, Losail - Race 2.mp4
- Australia, Phillip Island - Race 1.mp4
- Australia, Phillip Island - Race 2.mp4
- Spain, Valencia - Race 1.mp4
- Spain, Valencia - Race 2.mp4
와 같은 파일들이 있다. 이것을
01-1. Qatar, Losail.mp4
와 같은 형식으로 변경하는 것이 목적이다. 내 경우는 무려 28 개나 되기 때문에(난 이런 반복 작업을 극도로 싫어한다), 일일이 파일 이름 바꾸는 것 보다는 Regular Expression 을 사용하는 것이 훨씬 편하다(이것이 수백, 수천개라고 하면 따로 알바를 고용하는 것이 나을 정도로 매우 짜증나는 작업이 된다).
일일이 과정 중에 스크린샷은 생략한다.
- Windows Explorer 에서 이름을 바꾸기 원하는 파일들을 선택한다.
- 오른쪽 버튼을 눌러서 'Rename RegEx...' 을 클릭한다.
그러면 프로그램이 실행되고, regular expression 을 입력할 수 있게 된다. 이 프로그램이 좋은 점은 일일이 파일을 바꾸지 않아도, 바꾸기전에 미리 어떻게 바뀔지 확인해볼 수 있다. Regular expression 을 한번에 입력하고 깨끗하게 성공하면 좋겠지만, 그렇지 못한 경우 expression 을 입력해보고 올바르게 변하는지 미리 확인하면서 할 수 있다.
아무튼, 약간의 경험(경험이 없으면 삽질)만 있으면 내가 원하는 작업은 다음과 같이 할 수 있는 것을 알 수 있다(미리 보기가 있으니까 훨씬 쉽다.).
Source expression : {..}\.{.*} - Race {.}
Target expression : $1-$3.$2
- {..} 는 $1 에 대응 되는 것으로 아무 문자 2개(점 하나는 아무 문자하나에 대응 된다)를 뜻하며, 여기서는 01, 02 처럼 숫자 두개와 맞게 된다.
- {.*} 는 $2 가 되며, 아무 문자(.) 여러개(*) 와 대응 되는데, 이것 만으로는 어디까지 $2 가 해당하는지 알 수 없다. 하지만 그 다음에 ' - Race ' 가 있기 때문에 이 이전까지가 $2 에 해당하게 된다.
- 마지막으로 아무 글자 하나가 $3 에 대응된다. 그 이후의 '.mp4' 는 무시된다.
- Target 에는 이 글자들을 원하는 대로 조합만 해주면된다. $3 이 $2 보다 앞에 있는 것을 확인할 수 있다.
어떤 의미로 Regular Expression 은 예술적이다. 이거 만든 사람은 노벨상 줘야 한다.(물론 농담 -_
아무튼, 이 좋은 기능을 파일 이름 변경에도 사용할 수 있고 미리보기 기능 때문에 regular expression 에 별로 익숙하지 않은 사람에게도 많은 도움이 되는 좋은 프로그램이다.
ps. Programmable Programming Language 라 불리우는 Lisp 같은 곳에서는 더더욱 막강하게 사용할 수 있을 것 같다는 생각이 드는데, 나중에 한번 찾아봐야겠다.
ps. 현실에서는 이런거 빨리 한다고 별로 알아주지도 않는다는게 문제일 듯 하다. 이걸로 5분 하고 3~4시간 노는 사람(혹은 자기 계발)보다, 이거 일일이 수정하면서 시간 낭비하느라 5~6시간 보내는 사람보고 더 노력했다고 칭찬하는 게 이 바닥이니 말이다. (상급자가 훌륭한 사람이라면, 얘기가 달라진다)
추천 태그
트랙백 주소 :: http://www.hybrid.pe.kr/tt/trackback/512
-
Subject: CedarLogic File Rename Utility 가 파일을 없애기만하고 리네임을...
Tracked from A stupid man's diary 2011/01/13 15:39 삭제정규표현식을 이용해서 파일이름들을 변경하는 프로그램이 있길래 써봤다. (CedarLogic File Rename Utility) 파일을 없애기만하고 리네임을 안 하더라... 나바쁘다고 !!! 야근야근열매는 더이상 먹기 싫다고.. 유_유 삭제하려고 했는데 제어판에서 안 보이길래 설치폴더에 가봤다. (있었는데 못 봄) 리네임된 파일들이 요기잉네? 설치폴더에 있었다. ( C:\Program Files\CedarLogic\CedarLogic...
-
Subject: GS test demo
Tracked from GS test demo 2013/04/02 23:19 삭제Hybrid :: Regular Expression 을 사용한 파일 이름 바꾸기







1156068
419
1164






댓글을 달아 주세요
오......
200개 파일의 이름을 변경하려다 구글링으로 찾아왔네요.
그냥 다운받아서 쓰려다. 어려워서 설명읽고 잘 사용했습니다. ^^
감사~
매우 편리한 프로그램입니다.
이 기회에 Regular Expression 에도 친해지시길....