Есть ли способ быстро изменить все расширения файлов всех файлов в папке?

У меня есть большая папка аудиокниг .m4b, которые в их текущем формате не будут воспроизводиться на моем телефоне Android. Однако они отлично работают, если они переименованы в .m4a

. Существует ли быстрый метод или команда терминала, которая может переименовать каждый файл .m4b в папке в .m4a? Нет необходимости в каком-либо преобразовании файлов, просто переименование расширения файла прекрасно работает.

14
задан 22 May 2012 в 09:47

2 ответа

Это сделает работу за вас.

rename 's/.m4b$/.m4a/' *.m4b

Для пробного запуска вы можете использовать эту команду:

rename 's/.m4b$/.m4a/' *.m4b -vn

-v означает «подробный», и он выведет имена файлов, когда он переименовывает их.

-n выполнит тестовый запуск, при котором не будет переименовывать файлы, но покажет вам список файлов, которые будут переименованы.

0
ответ дан 22 May 2012 в 09:47

Очень быстрый способ переименовать файлы, если это все, что вам нужно сделать, и не нужно преобразовывать их в другой формат, - это использовать расширения параметров Bash, которые очень подробно описаны в вики Bash. .

Существует несколько различных способов изменения расширения, но я использую здесь простую парадигму ${var/original/replacement}:

for file in *.m4b; do mv -- "${file}" "${file/%m4b/m4a}"; done

Если вы хотите увидеть, что будет изменено командой, поместите echo до mv и изменения будут перечислены.

Излишне говорить, что этот oneliner может быть изменен и для других файлов, и вы также можете использовать расширения параметров, чтобы удалить расширения файлов.

0
ответ дан 22 May 2012 в 09:47

Другие вопросы по тегам:

Похожие вопросы: