C'est vraiment impossible d'utiliser des noms accentués sur ton système ??
L'autre bout, c'est Windows, bien sûr, un truc soi-disant localisé (et qui se vend au japon, ça devrait pouvoir avaler n'importe quels caractères).
On est en France, et tu n'empècheras jamais ceux qui écrivent français depuis longtemps d'utiliser leur alphabet... tiens, j'ai utilisé une cédille ;-)
Changer autoritairement les noms de fichiers peut aussi mener à des paniques : ceux qui ont des moulinettes en local sur une machine *ix risquent de paniquer quand ces moulinettes ne trouvent plus le fichier créé la veille qui s'appelait "voilà_mon_garçon".
En plus de ces inconvénients, tu vas risquer des collisions parce que tu auras un renommage non biunivoque : n noms différents peuvent donner le même, tels "démélés, démeles, deméles, etc..." , ça va être aussi folklo que les noms_courts/nom_long des PC au passage de DOS à windows...
Sinon, oui, on peut faire une moulinette, mais il me semble que la solution est de mettre tout le monde en UDF8 ou en codage qui encode **tous** les caractères susceptibles d'être utilisés, de façon à ce que les noms restent identiques aux deux bouts.
À (caractère majuscule accentué) mon avis, la moulinette est réalisable, mais ni souhaitable ni efficace.
Sinon ça peut commencer par
cd racine
find . | while read truc do
nom=`basename ${truc}`
chemin=`pathname ${truc}`
nouveaunom=`echo $nom | sed ...
là, suite de commandes sed du style s#à#a#
et ensuite on recolle les morceaux avec qq chose comme
mv ${chemin}/${nom} ${chemin}/${nouveaunom}
done
Je ne te fais pas tout, ça peut marcher, mais je oute que ça arrange grand-chose.