(Dernière modification le 5 octobre 2010 à 23:57)

Pour une raison X ou Y il est parfois nécessaire de renommer des noms de fichiers de façon massive.

Voyons comment nous pouvons réaliser cette modification en une seule ligne dans un terminal Linux.

Une simple ligne de commande suffit à réaliser la modification :

for fichiers in *.ext; do mv "$fichiers" `echo $fichiers | tr 'chaine' 'chaine_de_remplacement' `; done

Nous souhaitons remplacer tous les espaces par des « _ » dans les noms de fichiers des fichiers PNG du répertoire courant :

for fichiers in *.png; do mv "$fichiers" `echo $fichiers | tr ' ' '_' `; done

Propre et efficace (vous pouvez aussi utiliser rename, merci alexis!)

Attention à bien vous placer dans le répertoire contenant les fichiers avant de lancer la commande.

Pour plus de solutions de remplacement n’hésitez pas à consulter l’aide de la commande tr (man tr).

Si vous utilisez Windows il existe un excellent logiciel adapté : Bulk Rename Utility

Auteur : Mr Xhark

Fondateur du blog et passionné par les technologies je partage mes découvertes quotidiennement.