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