Salut.
Pourquoi ne pas utiliser rename, tout simplement ? Je ne sais plus s'il gère les parcours récursifs par contre...
En fait je n'ai pas très bien compris le but de ton appli. D'après le code, il s'agit d'enlever les accents dans les noms des fichiers, c'est bien ça ?
Trucs en vrac :
1/ echo `$FICHIER | tr "ÃÄ" "#"` : je ne vois pas ce que ça vient faire là. Tu cherches à exécuter le fichier ? Si oui, le echo est inutile. Sinon, enève les accents graves.
2/ mv $fichier `echo $fichier | tr "àçéèêëîïôöùüÂÇÉÈÊËÎÏÔÖÙÜ " "aceeeeiioouuACEEEEIIOOUU_"` : c'est normal que $fichier soit en minuscule alors qu'avant tu écris $FICHIER ?
3/ Je te conseille de toujours protéger tes variables par des guillemets, surtout que vu le code elles peuvent contenir des espaces. Donc écrire mv "$fichier" `echo "$fichier" | tr [...]` et pas mv $fichier `echo $fichier | tr [...]`.
4/ Plutôt que de faire un for, je te conseille d'utiliser l'option -exec de find. Explications ici : http://mouchevii.free.fr/wiki/index.php?title=Recherche_de_f(...) . Il faudra peut-être chercher un peu pour que ça marche, je ne sais pas trop ce que ça donne avec les tubes.
Bon voilà, à part le point 2, je ne vois a priori pas de raison pour que ça ne marche pas...
# rename
Posté par Naha (site web personnel) . En réponse au message Renommer les fichiers avec des accents dans script sh. Évalué à 1.
Pourquoi ne pas utiliser rename, tout simplement ? Je ne sais plus s'il gère les parcours récursifs par contre...
En fait je n'ai pas très bien compris le but de ton appli. D'après le code, il s'agit d'enlever les accents dans les noms des fichiers, c'est bien ça ?
Trucs en vrac :
1/ echo `$FICHIER | tr "ÃÄ" "#"` : je ne vois pas ce que ça vient faire là. Tu cherches à exécuter le fichier ? Si oui, le echo est inutile. Sinon, enève les accents graves.
2/ mv $fichier `echo $fichier | tr "àçéèêëîïôöùüÂÇÉÈÊËÎÏÔÖÙÜ " "aceeeeiioouuACEEEEIIOOUU_"` : c'est normal que $fichier soit en minuscule alors qu'avant tu écris $FICHIER ?
3/ Je te conseille de toujours protéger tes variables par des guillemets, surtout que vu le code elles peuvent contenir des espaces. Donc écrire mv "$fichier" `echo "$fichier" | tr [...]` et pas mv $fichier `echo $fichier | tr [...]`.
4/ Plutôt que de faire un for, je te conseille d'utiliser l'option -exec de find. Explications ici : http://mouchevii.free.fr/wiki/index.php?title=Recherche_de_f(...) . Il faudra peut-être chercher un peu pour que ça marche, je ne sais pas trop ce que ça donne avec les tubes.
Bon voilà, à part le point 2, je ne vois a priori pas de raison pour que ça ne marche pas...