Circum Blog

Circum Net – IT – Conseils pratiques

Passage en minuscules des noms de fichiers

Systèmes, Unix

Il se peut que dans certaines situations (par souci de cohérence, de compatibilité…) l’on doive s’assurer de la basse casse des noms de fichiers d’un répertoire. Dans ce cas, les possibilités de scripting offertes par le shell peuvent s’avérer très utiles afin d’obtenir rapidement un conversion.

Voici, à titre d’exemple, un script de base qui permet de convertir en minuscules le nom des fichiers se trouvant dans un répertoire.

for x in *
do
mv $x `echo $x |tr ‘[:upper:]’ ‘[:lower:]’`
done

Pour exécuter ce script, il suffit, à partir d’une fenêtre terminal, de se placer dans le répertoire à traiter (cd) et de taper les lignes de codes présentées ci-dessus. Après avoir fourni l’instruction ‘done’, la conversion sera opérée.

Description des composants du script

– Une boucle ‘for’ prenant en compte tous les fichiers (*) du répertoire courant. A chaque passage dans la boucle le nom d’un fichier est stocké dans la variable ‘x’.

– Une instruction ‘mv’ qui renomme les fichiers. Cette commande prend 2 arguments: le premier étant le nom initial du fichier en cours de traitement (représenté par l’appel à la variable ‘x’) et le second étant le nouveau nom en minuscules (`echo…`).

– Une instruction qui donne le nom en minuscules du fichier. Celle-ci est encadrée par des backquotes (`) qui donne lieu à son évaluation. Elle utilise la commande ‘echo’ qui envoie le nom du fichier (c’est-à-dire la variable ‘x’) via l’opérateur de redirection d’input ‘|’ à la commande ‘tr’ qui effectue elle la traduction en minuscules.