아래에 질문을 드렸었는데요... 리눅스에서 파일명 일괄 변경...
2016.07.18 10:38
리눅스에서 모든 파일(하위 폴더 포함) 확장자를 일괄 변경하는 방법은 없을까요??
find . -type f -name "*.txt" -exec rename .txt .doc {} \;
txt에서 doc로 변경
스노우 캣님이 알려주셔서... 아주 잘 했는데... ㅜㅜ
----------------------------------------------------------------------------
제가 두번 했나봐요
파일명 끝에 fileName.doc.doc
이렇게 변해버렸는데 뒤 .doc 이걸 삭제 하려면 어떻게 해야 할까요?
코멘트 7
-
도원아빠
07.18 17:11
아... 또 스노우캣님 ㅜㅜ
감사합니다.
한번 해보겠습니다. -
도원아빠
07.18 22:31
제가 테스트 한다고 몇개의 폴더를 만들어 해보니 잘됩니다. ^^
근데 이상한건... 영문 폴더는 잘되는데 한글폴더는 No such file or directory 가 뜨네요...? 제가 뭘 잘못한거겠죠? ㅜ.ㅜ
-
쉘이 실행되는 로케일과 한글디렉토리의 인코딩이 달라서 그런거 아닐까요?
예를 들어 리눅스 서버를 NAS용도로 사용해서 폴더나 파일은 윈도에서 cp949인코딩을 쓰는데 리눅스는 쉘은 UTF-8로 돌린다거나 말이죠
-
도원아빠
07.19 08:00
헉 NAS 용도로 사용하는게 맞습니다.
확인해보겠습니다. 감사합니다 ^^ -
도원아빠
07.20 19:47
몇가지 테스트를 해보니 한글 폴더명을 인식 못하는게 아니라 파일명이나 폴더명 사이에 공백이 있으면 인식을 못하더라구요...
그냥 수동으로 하나씩 했어요 ㅜㅜ
혹시나 담에라도 이런 경우는 어떻게 해결을 하면 좋을까요?
좋은 밤 되세요~
-
공백이있으면 2개의 파일로 인식하니 그러한거네요. 잔머리 좀 더 굴리면 될듯합니다.
.doc.doc 파일을 찾아서 뒤의 .doc 네글자 자릅니다.
for i in `find . -type f -name "*.doc.doc"`; do mv $i `echo ${i%.doc}`; done