파일이 많을 때 어떻게 이름을 바꾸나요?

파일이 아래처럼 수천 개 있을 때

[code:3a00ti1z]
abc.mp3
def.ogg
efg.flac
hij.txt
klm.odt
가나나.hwp
...
[/code:3a00ti1z]

그걸 확장자는 유지하면서

[code:3a00ti1z]
0001.mp3
0002.ogg
0003.flac
0004.txt
0005.odt
0006.hwp
...
[/code:3a00ti1z]
이렇게 한꺼 번에 바꾸는 방법이 없나요?

[code:3a00ti1z]
rename ‘s/*/####/g’
이나
rename ‘s/*./####/g’
[/code:3a00ti1z]
처럼 rename 명령어로 해보려고 했는데 먹히질 않더라고요.
특수문자나 한글, 공백 등이 이름에 쓰인 파일들도 아주 많은 데 이걸 rename 에서는 처리할 수가 없는 것 같습니다다.

그렇다고 하나하나 찾아서 수정해주기도 힘듭니다.
어찌하면 rename 에서 그런 파일들까지 한번에 일괄 변경할 수 있을까요?

[code:3a00ti1z]mv . $RANDOM[/code:3a00ti1z]
처럼 mv 명령을 쓰면 파일들이 특수문자나 한글, 공백이 들어간 파일도 처리가 되지만, 파일의 순서를 알기 어렵고 결정적으로 확장자가 사라지거나 아니면 알 수 없는 확장자로 바뀐다는 단점이 있습니다.

pyRename이란 패키지를 사용하시면 패턴으로 이름 변경도 가능하시고 대치/부분 삭제 등등이 가능합니다.
미리 보기가 있어 바꾸어질 파일 이름을 확인하시고 변경하실 수가 있어 편리합니다.

sudo apt-get install pyrename
이나 우분투 소프트웨어 센터에서 rename으로 찾으시면 쉽게 나옵니다.
[attachment=0:2t0vopm1]스크린샷-pyRenamer.800.jpg[/attachment:2t0vopm1]

전 GPRename을 사용합니다^^ PyRename보다 속도가 조금 빠릅니다.

갑자기 궁금해서 추가해 봅니다…

어떤 경우에 여러 파일을 0001.hwp 처럼 바꾸게 되는가요?

오히려 더 알수 없지 않을까하는 개인적인 생각이 드는데요.

[quote="doodoo":2elclhti]갑자기 궁금해서 추가해 봅니다…

어떤 경우에 여러 파일을 0001.hwp 처럼 바꾸게 되는가요?

오히려 더 알수 없지 않을까하는 개인적인 생각이 드는데요.[/quote:2elclhti]

알수 없게 하려고 하는거겠죠

흠… 개인적으로는 단순하게 일회성 작업이라면
ls -1 > filename.txt
해서 파일명 불러오고
엑셀과 같은 스프레드시트로 붙여넣기 후
함수명으로 파일명에서 마지막 4자리를 떼어오기 한다거나 하는 식으로 확장자 떼어 낸후
0001 해서 드레그로 0099 식으로 만들고 합치기 합니다.
그리고 만들어진 라인을 복사해서 .sh 파일로 해서 .sh 돌리거나
그냥 콘솔창에 붙여넣기…
좀 무식하지만요…
원본파일명을 기록해놔야 하거나 작업 내용을 기록해놔야 한다면
이런 엑셀파일과 .sh 파일을 저장해놓으면 나중에 파일명 원복하기 쉬운 편이죠.
그래도 일회성일때야 할만하지 매번 할려면 뭔가 간단한 툴 짜는게 편할듯
일단 rename의 경우 파일을 복사하는게 아니므로 속도는 신경 안써도 되죠.
실제로 수천개의 파일 리네임 및 관리를 이렇게 했었…

이럴 땐 kde가 편하네요…

[attachment=2:9xyqagzl]노트북4.png[/attachment:9xyqagzl]
이렇게 파일이 있으면

[attachment=1:9xyqagzl]노트북5.png[/attachment:9xyqagzl]
한꺼번에 잡아준 다음에 f2키를 누르고 적당한 파일이름을 쳐 줍니다.
그럼 아래처럼 쉽게 파일 이름이 변하네요…

[attachment=0:9xyqagzl]노트북6.png[/attachment:9xyqagzl]
신기하군요^^

[quote="kgbtdk":bhmji2yx]이럴 땐 kde가 편하네요…

[attachment=2:bhmji2yx]노트북4.png[/attachment:bhmji2yx]
이렇게 파일이 있으면

[attachment=1:bhmji2yx]노트북5.png[/attachment:bhmji2yx]
한꺼번에 잡아준 다음에 f2키를 누르고 적당한 파일이름을 쳐 줍니다.
그럼 아래처럼 쉽게 파일 이름이 변하네요…

[attachment=0:bhmji2yx]노트북6.png[/attachment:bhmji2yx]
신기하군요^^[/quote:bhmji2yx]

포럼에도 facebook like버튼이 있었으면 좋겠네요
좋은 팁입니다 ^^ ㅎㅎ

[quote="kgbtdk":1yq64f71]이럴 땐 kde가 편하네요…

[attachment=2:1yq64f71]노트북4.png[/attachment:1yq64f71]
이렇게 파일이 있으면

[attachment=1:1yq64f71]노트북5.png[/attachment:1yq64f71]
한꺼번에 잡아준 다음에 f2키를 누르고 적당한 파일이름을 쳐 줍니다.
그럼 아래처럼 쉽게 파일 이름이 변하네요…

[attachment=0:1yq64f71]노트북6.png[/attachment:1yq64f71]
신기하군요^^[/quote:1yq64f71]

Gnome에서도 그냥 Dolphin을 깔면 되죠 ㅋㅋ
Nautilus하고 Dolphin은 참 어중간한 관계인것 같음…ㅎㅎ

근데 돌핀에서 맥의 파일관리자처럼 옆으로 트리가 계속 이어지는 거(?)가 되네요ㅋㅋ
계속 돌핀 쓰게 되려나;;;

perl 문법이 맞는지 모르겠는데 이렇게 한번 해 봤습니다.

[code:2cmcnxlt]$ ls
323420.lisp jdkjf.j3k3j dkjkfjk.jfkdk.cc kkkdj.kdjfdkfj.out
$ rename ‘$a = "00018" unless defined $a; s/^(.).(.)$/$a.$2/; $a++;’ *
$ ls
00018.lisp 00019.cc 00020.out[/code:2cmcnxlt]

확장자 없는 경우를 고려하여

[code:2cmcnxlt]rename ‘$a = "00033" unless defined $a; s/^(.).(.)$/$a.$2/; s/^[^.]+$/$a/; $a++;’ *[/code:2cmcnxlt]