mp3등의 파일에 붙은 space를 "_" 등으로 대체하면 편리하겠군요..
첨부파일은 스크립트입니다.

아래는 홈페이지의 설명입니다.
이외에도 유용한 스크립트와 강좌가 있으니 꼭 한번 방문해보세요 emoticon

출처 : http://www.linuxchannel.net/

#########################################
##
## 스크립트명 : renameto(특정 파일/디렉토리를 바꾸기)
##
## 작성자 : 김칠봉 < san2[at]linuxchannel.net >
## 작성일 : 2002.03.04
## 2002.03.27 add options
## 2002.03.29 patch(thanks '단n키')
## 2002.04.13 patch(sort)
##
## 라이센스 : GNU GPL
## 다운로드 : http://www.linuxchannel.net/devel/renameto/
##
##
##########################################

##########################################
## ##
## WARNING !!! ##
## 사용자의 사용상 부주의로 인한 피해는 ##
## 어떠한 경우라고 본인에게 그 책임이 ##
## 없음을 미리 공지합니다. ##
## ##
##########################################

[기능]

- 특정 문자열의 파일을 찾아서 바꿈
- 특정 문자열의 디렉토리를 찾아서 바꿈
- 바꾸기 전에 view 기능 제공
- 특정 디렉토리에서 검색가능
- 현재디렉토리, 모든 서브디렉토리, 특정 깊이의 디렉토리 검색

[사용법]

# renameto --help
usage : renameto [options] "/from_string/to_string/" "<target_files|target_directory>"
options
-R : include all sub directory (not default)
-Rn : 'n' is sub directory maxdepth number
'-R0' is current directory (same as not given options)
-t,-test,--test : only test view
-v,-view,--view : only test view
-d,-dir,--dir : only directory adjust (not files)
-h,-help,--help : help
example
renameto /html/php/ "*.html" (same as rename command)
renameto -R "/ /_/" "* *.mp3" (replace file " " to "_" all sub-directory)
renameto -R -test "/ /_/" "* *.mp3" (test view)
renameto -R -dir "/ /_/" "/home/xxx/mp3/* *" (replace directory)

source download http://ftp.linuxchannel.net/devel/renameto/
#

-R
하위의 모든 디렉토리에서 검색

-R0
현재 디렉토리에서만 검색

-Rn
현재디렉토리에서 그다음 n단계 디렉토리까지만 검색, n은 ([0-9]*)

-R
옵션이 없다면 현재디렉토리에서 만 검색

-d, -dir, --d, --dir
파일대신 디렉토리에 적용
이 옵션이 없다면 기본적으로 파일을 그 대상으로 함

-v, -view, --view, -t, -test, --test
파일이나 디렉토리를 바꾸지 않고 그냥 찾아서 출력만 함(확인할때)
이 옵션이 없다면 매치되는 파일이나 디렉토리를 찾아서 바꿈.

'/from_string/to_string/'
from_string -> to_string 으로 교체
공백 문자열이 들어갈 수 있으므로 받드시 전체를 ' 나 "로 묶어줌
양자의 구분자는 / 로 구분

'찾을 디렉토리나 파일 대상'
받드시 전체를 ' 나 "로 묶어줌
"* *" : 공백 문자열이 들어간 모든 파일이나 디렉토리 대상
"*" : 모든 파일이나 디렉토리 대상
"*.mp3" : 확장자(?)가 mp3인 모든 파일
"*.[hH][tT][mM][lL]" : *.html *.HTML *.Html ... 등과 매치
"/home/*.php" : /home 디렉토리를 대상으로 *.php 파일
"home/*.php" : 현재 디렉토리에서 상대 경로가 home 인 디렉토리

[사용예 1]

/sdb1/mp3 디렉토리 및 그 하위 모든 디렉토리에서
mp3 파일이나 MP3 파일을 대상으로
파일이름에 공백(" ")이 들어갈 경우 "_" 로 바꿈

먼저 테스트해 봄

$ renameto -R --test '/ /_/' '/sdb1/mp3/* *.[mM][pP]3'
...
...
$

리스트가 나오면 --test 옵션을 빼고 실행함

$ renameto -R '/ /_/' '/sdb1/mp3/* *.[mM][pP]3'
...
...
$

-R
대상디렉토리(/sdb1/mp3) 및 그 하위의 모든 디렉토리 포함

--test
단지 테스트만 해봄

'/ /_/'
공백을 "_"으로 바꾸기

'/sdb1/mp3/* *.[mM][pP]3'
/sdb1/mp3/ 는 찾을 디렉토리의 시스템 절대경로
* *.[mM][pP]3 은 공백 문자열이 들어간 파일의 표현식

[사용예 2]

공백문자 없애기

$ renameto '/[ ]//' '*.mp3'
또는
$ renameto '/ //' '*.mp3'

특수문자들 " [ ] ( ) * 없애기
$ renameto '/["[]()]//' '*.mp3'

확장자 바꾸기
$ renameto '/.MP3$/.mp3/' '*.MP3'

파일이름 앞에 'My' 문자열 추가하기
$ renameto '/^/My/' '*.mp3'

----------------------------------------

관련 링크: http://www.linuxchannel.net/

+ Recent posts