J'ai un grand dossier de livres audio .m4b qui, dans leur format actuel, ne peuvent pas être lus sur mon téléphone Android. Cependant, ils fonctionnent bien s’ils sont renommés .m4a
Existe-t-il une méthode rapide ou une commande de terminal permettant de renommer tous les fichiers .m4b d'un dossier en .m4a? Aucune conversion des fichiers n’est nécessaire, il vous suffit de renommer l’extension de fichier.
Cela fera le travail pour vous.
rename 's/.m4b$/.m4a/' *.m4b
Pour un test, vous pouvez utiliser cette commande:
rename 's/.m4b$/.m4a/' *.m4b -vn
-v
signifie "verbose" et il affichera les noms des fichiers quand il les renommera.
-n
fera un test pour ne renommer aucun fichier, mais vous montrera une liste de fichiers qui seraient renommés.
Un moyen très rapide de renommer les fichiers, si c'est tout ce que vous devez faire et ne pas avoir besoin de les convertir en un autre format, consiste à utiliser les extensions de paramètres de Bash, qui sont très bien détaillées dans le wiki Bash =.
Il y a plusieurs façons de changer l'extension, mais j'utilise ici le paradigme simple ${var/original/replacement}
:
for file in *.m4b; do mv -- "${file}" "${file/%m4b/m4a}"; done
Si vous voulez voir ce qui serait modifié par la commande, placez echo
avant mv
et les modifications seront répertoriées.
Il va sans dire que cet oneliner pourrait également être modifié pour d'autres fichiers. Vous pouvez également utiliser des extensions de paramètres pour supprimer les extensions de fichier.