간단한 예.
임의의 폴더 안에 아래와 같은 파일들이 있다고 하자.
01 동해물과.txt
02 백두산이.txt03 마르고.txt
04 닳도록.txt
05 하느님이.txt
위 파일들의 이름 중 "01 "와 같이 숫자와 스페이스를 없애서 "동해물과.txt"와 같이 하고자 한다.
(nomos님의 댓글을 보고 수정했습니다. 2010. 01. 29)
(nomos님의 댓글을 보고 수정했습니다. 2010. 01. 29)
$>rename 's/\d{2}[[:space:]]//' *
여기서 s/는 치환하라는 뜻이며,
\d는 숫자 하나를 가리키는데
{2}는 앞에 오는 대상의 개수를 가리킨다.
따라서 \d{2}는 숫자 2개를 뜻한다.
[[:space:]]는 공백(스페이스, 빈 줄 포함)을 나타낸다.
마지막 "/"은 치환할 대상을 처리할 문자규칙인데, 여기서는 삭제를 해야 하므로 아무 것도 안써서 "/"와 같이 해주었다.
*은 이 규칙을 적용할 파일명 규칙이다. *은 (누구나 예상하듯이) 모든 파일이다.
정규표현식에서 [[:digit:]]는 \d와 같이 나타낼 수도 있지만 rename 명령은 이 방법은 안되었다.
또한 [[:digit:]][[:digit:]]는 [[:digit:]]{2}처럼 나타낼 수도 있지만 rename은 이 방법도 안되었다.




Prev
