Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'edple'@'localhost' (using password: NO) in /home/edple/public_html/blog/wp-content/plugins/statpress/statpress.php on line 1191

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/edple/public_html/blog/wp-content/plugins/statpress/statpress.php on line 1191

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'edple'@'localhost' (using password: NO) in /home/edple/public_html/blog/wp-content/plugins/statpress/statpress.php on line 1194

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/edple/public_html/blog/wp-content/plugins/statpress/statpress.php on line 1194

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'edple'@'localhost' (using password: NO) in /home/edple/public_html/blog/wp-content/plugins/statpress/statpress.php on line 1197

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/edple/public_html/blog/wp-content/plugins/statpress/statpress.php on line 1197
리눅스에서 rename 사용하기 « 천태만상

리눅스에서 rename 사용하기

rename은 정규식을 사용해서 여러 파일의 이름을 한 번에 바꿀 수 있는 펄 유틸리티다.

간단한 예.
임의의 폴더 안에 아래와 같은 파일들이 있다고 하자.
01 동해물과.txt

02 백두산이.txt
03 마르고.txt
04 닳도록.txt
05 하느님이.txt

위 파일들의 이름 중 “01 “와 같이 숫자와 스페이스를 없애서 “동해물과.txt”와 같이 하고자 한다.

(nomos님의 댓글을 보고 수정했습니다. 2010. 01. 29)

$>rename ‘s/\d{2}[[:space:]]//’ *
여기서 s/는 치환하라는 뜻이며,
\d는 숫자 하나를 가리키는데

{2}는 앞에 오는 대상의 개수를 가리킨다.
따라서 \d{2}는 숫자 2개를 뜻한다.

[[:space:]]는 공백(스페이스, 빈 줄 포함)을 나타낸다.

마지막 “/”은 치환할 대상을 처리할 문자규칙인데, 여기서는 삭제를 해야 하므로 아무 것도 안써서 “/”와 같이 해주었다.
*은 이 규칙을 적용할 파일명 규칙이다. *은 (누구나 예상하듯이) 모든 파일이다.
정규표현식에서 [[:digit:]]는 \d와 같이 나타낼 수도 있지만 rename 명령은 이 방법은 안되었다.
또한 [[:digit:]][[:digit:]]는 [[:digit:]]{2}처럼 나타낼 수도 있지만 rename은 이 방법도 안되었다.




coded by nessus
» Tags: , , , ,

Comments 2

  1. nomos 응답
    10/01/29

    rename ‘s/\d\d //’ *
    이렇게 ‘ 문자로 정규표현식을 묶어주면 되지 않을까요? 시도는 안 해 봤지만…
    그런데 이렇게 파일이름을 바꾸면 같은 파일이름을 가진 것들이 여러개 생겨나서 에러가 날 것 같네요.

    • 에드 응답
      10/01/29

      조언 감사합니다.
      알려주신대로 ”로 묶어주니까 \d{2}와 같은 표현도 잘 되네요. ^^
      덕분에 타이핑이 확 줄었습니다~ ^^
      위의 예는 제가 잘못 썼습니다. 복사해서 붙여넣기하고 이름을 안바꿨네요.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

*