대량의 파일의 확장자 변경.

fscic의 이미지

안녕하세요.

몇천개의 디렉토리에 001.jpg, 002.jpg ----- 150.jpg 이런형태로 다량의
화일들을 저장하여 서비스를 제공하고 있습니다. 모두 공통적인 특징을
두어 서비스하고 있는데 이중 일부 파일들에 대문자확장자(JPG)가 있어
어떻게 바꿔야할지 난감해 하고 있습니다.

예전 DOS처럼 mv *.JPG *.jpg 이런형태로 해보고
cp -R *.JPG *.jpg 이렇게도 해봤지만 소용이 없더군요..

각 하위 디렉토리까지 모두 검사하여 대소문자가 잘못되어 있는
확장자를 바꿀 수 있는 방법이 없을까요??

도움 부탁드립니다.

P.S
성인 이미지 머 이런거 아닙니다 .. :oops:
오해 없으시기를.. ^^

pynoos의 이미지

find . -name "*.JPG" | awk '{print "mv", $1, tolower($1)}' | sh 2>/dev/null

디렉토리에 대문자가 있으면 잘 안돌아갈듯...

specerx의 이미지

무한포옹의 이미지

debian 에는

rename 이라는 perl 스크립트가 깔리고 ( $ rename 's/JPG/jpg/g' *JPG )

redhat 에는

역시 rename 이라는 바이너리가 깔립니다 ($ rename JPG jpg *JPG )

find 와 조합하면 그럭 저럭..

-------------------------------
== warning 대부분 틀린 얘기입니다 warning ===

pithanks의 이미지

http://freshmeat.net/projects/ren/

c로 짜서 속도가 빠르고 다른 프로그램이 필요없어서 유용할 겁니다. regex의 일부기능도 제공하며 *나 ?로 다중 지정도 가능하므로 유지하고자 하는 문자열만 남기고 나머지는 마음대로 바꿀 수 있습니다.

ex)
001.jpg, 002.jpg ----- 150.jpg

$ ren "*.JPG" "#1.jpg"

redpine50의 이미지

ls *.JPG | xargs -I _ mv _ ${_%JPG}jpg

Life is tragedy when seen in close-up, but a comedy in long-shot.