답변:
이것은 당신을 위해 일을 할 것입니다.
rename 's/.m4b$/.m4a/' *.m4b
테스트 실행을 위해 다음 명령을 사용할 수 있습니다.
rename 's/.m4b$/.m4a/' *.m4b -vn
-v
"verbose"를 의미하며 파일 이름을 바꾸면 파일 이름이 출력됩니다.
-n
파일 이름을 바꾸지 않는 테스트 실행을 수행하지만 이름이 바뀔 파일 목록을 표시합니다.
파일의 이름을 바꾸는 가장 빠른 방법은 필요한 모든 것을 다른 형식으로 변환 할 필요가없는 경우 Bash의 wiki 에서 자세히 설명하는 Bash의 매개 변수 확장을 사용하는 것 입니다 .
확장을 변경하는 방법에는 여러 가지가 있지만 여기서는 간단한 ${var/original/replacement}
패러다임을 사용합니다.
for file in *.m4b; do mv -- "${file}" "${file/%m4b/m4a}"; done
명령에 의해 변경 될 사항 을 보려면 echo
앞에 mv
두고 변경 사항을 나열하십시오.
말할 것도없이이 oneliner는 다른 파일에 대해서도 수정 될 수 있으며 매개 변수 확장을 사용하여 파일 확장자를 제거 할 수도 있습니다.
*.m4b
. 그렇지 않으면 오류가 발생 argument list too long
합니다.
for file in *.m4b; do mv -v -- "${file}" "${file/%m4b/m4a}"; done
rename
PERL 스크립트이며 정규식을 허용합니다. 데비안 시스템rename.ul
에는util-linux-ng package
. perl이 설치되어 있지 않으면 (ok, 가능성이 거의 없습니다))rename
.