Aller au contenu principal
U/
Système
bash

Renommer tous les fichiers en minuscules

Écrire un script bash qui renomme chaque fichier du répertoire courant en convertissant les majuscules de son nom en minuscules. Si la cible existe déjà, afficher un avertissement et ne pas écraser.

20 minPublié le 20 mai 2026Proposé par Anonyme

Défi

// Lisez attentivement, codez sur votre machine

Énoncé

Écrire un script bash qui parcourt tous les fichiers du répertoire courant (non récursif, pas les dossiers) et renomme chacun d'eux en remplaçant les lettres majuscules de leur nom par les minuscules correspondantes. L'extension est traitée comme le reste du nom : README.TXT devient readme.txt. Si le nom cible existe déjà (et est différent du fichier source), le script affiche un avertissement sur stderr et ignore ce fichier.

Contraintes

  • Ne traiter que les fichiers ordinaires (pas les répertoires, liens symboliques, etc.).
  • Utiliser tr '[:upper:]' '[:lower:]' ou la substitution bash ${var,,} pour la conversion.
  • Un fichier dont le nom est déjà entièrement en minuscules ne doit pas être renommé (éviter un mv inutile).
  • Messages d'avertissement sur stderr, pas sur stdout.
  • Compatible bash 4+ (pour ${var,,}) ou bash 3 avec tr.

Exemple

Arborescence avant exécution :

Rapport.txt   Notes.TXT   archive.zip   Config.SH

Exécution :

$ bash minuscules.sh

Arborescence après exécution :

rapport.txt   notes.txt   archive.zip   config.sh

Si rapport.txt existait déjà avant le renommage de Rapport.txt :

avertissement : rapport.txt existe déjà, Rapport.txt ignoré
Espace solution

Proposer une solution

Connectez-vous ou créez un compte pour envoyer votre code (aucune exécution côté serveur — on stocke juste le texte pour la communauté).

// À garder en tête
  • D'abord, faire marcher

    On ne cherche pas à optimiser : d'abord, on fait marcher le truc. Optimiser vient ensuite — et ça aussi, ça s'apprend. (Si un défi porte sur l'optimisation, son énoncé le précise.)

  • Pas de mauvaise réponse

    Il n'y a pas de mauvaise réponse à un défi. Le but, c'est de le faire. Ce qui compte, c'est de s'entraîner.

  • Trop dur ? Au suivant

    Un défi te résiste ? N'hésite pas à en prendre un autre. Ils seront encore là demain.