Je dois écrire un script sh, qui me permette de renommer des fichiers dans une arborescence.
Retouver les fichiers ne me pose pas de problème, par contre je n'arrive pas à renommer les fichiers qui comportent des des accents.
J'ai fait des tests avec la commande tr mais ça ne fonctionne pas.
#! /bin/sh
PREP=/Users/jipi/Desktop/test_copie_theta/Prep
AS=/Users/jipi/Desktop/test_copie_theta/AutoSpooling
cd $PREP
for DOSSIER in `find . -name '[!.]*' -name '[!Network]*' -name '[!Temporary]*' -maxdepth 1`
do
#echo $DOSSIER
cd $PREP/$DOSSIER
for FICHIER in `find . -type f -name '*.tif' -o -name '*.jpg' -o -name '*.JPG' -maxdepth 1`
do
echo `basename $FICHIER`
echo `basename $FICHIER` >> $PREP/fichiers.txt
#nouveaunom=`echo $fic | tr 'àçéèêëîïôöùüÂÇÉÈÊËÎÏÔÖÙÜ ' 'aceeeeiioouuACEEEEIIOOUU_'`
echo `$FICHIER | tr "ÃÄ" "#"`
#mv $fichier `echo $fichier | tr "àçéèêëîïôöùüÂÇÉÈÊËÎÏÔÖÙÜ " "aceeeeiioouuACEEEEIIOOUU_"`
#echo $nouveaunom
done
done
Auriez-vous une idée ??
Merci
JPA
# rename
Posté par Naha (site web personnel) . É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...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.