19 octobre 2008

Renommer des extensions de fichiers en masse sous mac os Leopard

Il arrive parfois que l'on doive renommer des fichiers (ou des extensions de fichiers) en masse sous Mac ou Linux. Mais je n'ai pas trouvé d'utilitaires en moins de 2 minutes sur le net je me suis donc dis qu'un petit script devait exister. Effectivement 'ai trouvé quelques infos sur le net anglophone et je me suis dit que les partager serait sympa.

Pour créer ce script, j'ai utilisé le Terminal avec "vi". Donc il suffit d'ouvrir le terminal (dans Applications/Utilitaires) et tapez vi rename.sh. Ensuite on passe en mode édition (en tapant i).

Le fichier rename.sh est le nom du script. Vous pouvez l'appeler comme bon vous semble.

La première ligne : #!/bin/bash indique le shell à utiliser

Ensuite, on va faire une bloucle sur tout les ficihers avec une certaine extensions qui se trouvent dans un répertoire. Dans mon cas, il s'agit des fichiers avec l'extension .DBF qui se trouvent dans le répertoire cfd

Dans la boucle, on prend chaque fichier que l'on va renommer (grâce à la commande mv).

basename permet de récupérer le nom du fichier avec l'extension actuelle.

La ligne mv "$i" "cfd/`basename $i DBF`dbf" veut dire :
renommer le fichier "$i" de xxx.DBF en xxx.dbf . Il ne doit pas y avoir d'espace entre cfd/`basename $i DBF` et dbf

#!/bin/bash
for i in cfd/*.DBF;
do mv "$i" "cfd/`basename $i DBF`dbf"
done;

Ensuite on sauve le fichier et on quitte vi(esc, :wq)

Il faut rendre le fichier exécutable = chmod +x rename.sh

Ensuite on l'exécute (./rename.sh)

Et voilà le tour est joué.