J'ai un grand dossier de livres audio .m4b qui, dans leur format actuel, ne seront pas lus sur mon téléphone Android. Cependant, ils fonctionnent bien s'ils sont renommés en .m4a
Existe-t-il une méthode rapide ou une commande de terminal qui peut renommer chaque fichier .m4b d'un dossier en .m4a? Il n'est pas nécessaire de convertir les fichiers, simplement renommer l'extension de fichier fonctionne parfaitement.
command-line
nautilus
file-format
couverture
la source
la source
rename
est un script PERL et accepte les expressions régulières. Les systèmes Debian ont également unerename.ul
commande dans leutil-linux-ng package
. Si perl n'est pas installé (ok, très peu probable;))rename
ne l'est pas non plus.Réponses:
Cela fera le travail pour vous.
rename 's/.m4b$/.m4a/' *.m4b
Pour un essai, vous pouvez utiliser cette commande:
rename 's/.m4b$/.m4a/' *.m4b -vn
-v
signifie "verbeux" et il affichera les noms des fichiers lorsqu'il les renommera.-n
fera un test où il ne renommera aucun fichier, mais vous montrera une liste de fichiers qui seraient renommés.la source
Un moyen très rapide de renommer des fichiers, si c'est tout ce que vous avez à faire et que vous n'avez pas besoin de les convertir dans un autre format, est d'utiliser les extensions de paramètres de Bash, qui sont très bien détaillées sur le wiki Bash .
Il existe plusieurs façons de modifier l'extension, mais j'utilise ici le
${var/original/replacement}
paradigme simple :Si vous souhaitez voir ce qui serait modifié par la commande, placez-le
echo
avantmv
et les modifications seront répertoriées.Inutile de dire que cet oneliner pourrait également être modifié pour d'autres fichiers, et vous pouvez également utiliser des extensions de paramètres pour supprimer également les extensions de fichier.
la source
*.m4b
. Sinon, vous frapperez l'erreurargument list too long
.for file in *.m4b; do mv -v -- "${file}" "${file/%m4b/m4a}"; done