Renommer des fichiers en masse
Grand'Pa
grand-pa at grand-pa.dyndns.org
Dim 29 Jan 02:34:16 UTC 2006
Marian Robusti a écrit :
> Je souhaiterais renommer des fichiers en nombre
> Je ne me suis pas trop intéressé à bash pour le moment mais je crois
> qu'il est possible de faire ça.
Si tu veux renommer tous les fichiers dans une arborescence entière, voici
un petit script récursif qui va mettre les lettres en minuscule, remplacer
les espaces par des underscores et remplacer les lettres accentuées par
des lettres non accentuées :
-------------------------------------------------------------------------
#!/bin/bash
mk_thumb()
{
for i in `ls -Aw1 $1`
do
IMG_FILE_LOWER=$(echo $IMG_FILE | tr '[:upper:]
àçéèêëîïôöùüÂÇÉÈÊËÎÏÔÖÙÜ' '[:lower:]_aceeeeiioouuACEEEEIIOOUU')
[ $IMG_FILE != $IMG_FILE_LOWER ] && mv $1/$i/$IMG_FILE
$1/$i/$IMG_FILE_LOWER
done
}
IFS=$'\t\n'
mk_thumb /TON/REPERTOIRE/
-------------------------------------------------------------------------
Attention, il n'y a que 2 lignes dans la boucle (entre 'do' et 'done')
mais elle risquent d'apparaître coupée à l'affichage. De même, entre
'[:upper:]' et 'à', il y a un espace.
On peut faire plus court, mais c'est moins lisible. ;)
--
Franck PIERRE : grand-pa at grand-pa.dyndns.org
Site SME-Fr : http://sme-fr.homelinux.net
Site photos : http://grand-pa.myphotos.cc
Plus d'informations sur la liste de diffusion ubuntu-fr