У меня есть большая папка аудиокниг .m4b, которые в их текущем формате не будут воспроизводиться на моем телефоне Android. Однако они отлично работают, если они переименованы в .m4a
. Существует ли быстрый метод или команда терминала, которая может переименовать каждый файл .m4b в папке в .m4a? Нет необходимости в каком-либо преобразовании файлов, просто переименование расширения файла прекрасно работает.
Это сделает работу за вас.
rename 's/.m4b$/.m4a/' *.m4b
Для пробного запуска вы можете использовать эту команду:
rename 's/.m4b$/.m4a/' *.m4b -vn
-v
означает «подробный», и он выведет имена файлов, когда он переименовывает их.
-n
выполнит тестовый запуск, при котором не будет переименовывать файлы, но покажет вам список файлов, которые будут переименованы.
Очень быстрый способ переименовать файлы, если это все, что вам нужно сделать, и не нужно преобразовывать их в другой формат, - это использовать расширения параметров Bash, которые очень подробно описаны в вики Bash. .
Существует несколько различных способов изменения расширения, но я использую здесь простую парадигму ${var/original/replacement}
:
for file in *.m4b; do mv -- "${file}" "${file/%m4b/m4a}"; done
Если вы хотите увидеть, что будет изменено командой, поместите echo
до mv
и изменения будут перечислены.
Излишне говорить, что этот oneliner может быть изменен и для других файлов, и вы также можете использовать расширения параметров, чтобы удалить расширения файлов.