Après plusieurs années d'inactivité dans le domaine de la conception web, une amie tente un retour pour réaliser un petit contrat pour son employeur (elle mentionnait Dreamweaver 1, c'est pas peu dire!). En réalisant la maquette du site, elle prépara avec Photoshop les images ainsi que des fiches techniques en format PDF pour chacun des 300 produits.
Comme elle m'a demandé conseil pour se mettre à niveau, j'ai été obligé de lui mentionner que les layouts en tables étaient dépassés, qu'elle aurait intérêt à découvrir le CSS et qu'en web, mieux vaut éviter d'utiliser certains caractères lorsque vient le temps de nommer les fichiers, par exemple en séparant les mots avec des tirets plutôt qu'avec des espaces.
En me présentant son travail, j'ai noté que la majorité de ses fichiers PDF et JPG comportaient des espaces. Avoir voulu être cruel, je l'aurais obligé à renommer manuellement ses fichiers. Heureusement pour elle, j'ai eu pitié et à l'aide d'une commande toute simple, je suis devenu un héros instantané (parfois, ça ne prend pas grand chose).
Une fois les fichiers transférés sur mon laptop Linux, je n'ai eu qu'à utiliser la commande rename pour remplacer par des tirets tous les espaces contenus dans les fichiers. Mais avant de procéder à des remplacements en lot et risquer une gaffe, mieux vaut utiliser l'option -n pour avoir une prévisualisation des changements qui seront appliqués.
rename -n 's/ /-/g' *.jpg
image petit format.jpg renamed as image-petit-format.jpg
Après le dernier /, le "g" signifie global, pour remplacer tous les espaces et pas seulement le premier trouvé.
Une fois certain du remplacement dans la liste des fichiers, on peut appliquer le changement :
rename 's/ /-/g' *.jpg
rename 's/ /-/g' *.pdf
Morale de l'histoire : c'est pratique avoir un ami qui travaille dans les Interwebs.
mardi 15 mars 2011
0 réponse à "Renommer des fichiers en lot sous Linux"
S'abonner à :
Publier des commentaires (Atom)