Je suis un débutant et j’ai cherché partout pour cela. J'ai aussi essayé de combiner une commande de changement de nom en minuscule avec une regex pour obtenir Title Case au lieu de minuscule, mais je n’ai pas eu beaucoup de succès.
Cette commande convertit tout le contenu (fichiers + dossiers) du dossier donné en minuscules:
while IFS= read -r -d '' file; do mv -b -- "$file" "${file,,}"; done < <(find . -depth -name '*[A-Z]*' -print0)
Et voici ma tentative de casse du titre, cela fonctionne, mais ce n'est pas récursif:
find . -name "*.flac" -print0 | while read -d $'while IFS= read -r -d '' file; do mv -b -- "$file" "${file,,}"; done < <(find . -depth -name '*[A-Z]*' -print0)
' file; do rename 's/(^|[\s\(\)\[\]_-])([a-z])/$1\u$2/g' *; done
Ce ne sont là que quelques-unes de mes tentatives. S'il existe de meilleures solutions plus courtes, j'aimerais plutôt les aimer.
Pourriez-vous s'il vous plaît m'aider? Merci d'avance!
EDIT: J'ai oublié de mentionner, mes fichiers ressemblent à ceci: "09 - Le chemin de la maison - Amy MacDonald.flac"; devrait être renommé "09 - The Road To Home - Amy Macdonald.flac". Remarquez qu’il existe déjà des mots en majuscules ainsi que des lettres majuscules au milieu d’un mot.