On Thursday 03 April 2008 14:23, Thierry Chatelet wrote: > Bonjour, > J' ai un script pour renomer des fichiers qui tourne très bien sur mon PC. > Je l' ai copié sur un autre PC auquel j' accède par ssh. Quand je l' > exécute, j' ai le message suivant: > mv: la cible `000.JPG' n'est pas un répertoire > et ce, pour chaque photo à renomer. > > Voilà le script: > > #! /bin/bash > > x=0 > for fname in *.JPG > do > mv $fname `printf "%03d.JPG" $x` > x=$(($x+1)) > done > > Voilà. Une idée? > Merci > Thierry
Christophe, je recopie ici le mail perso que tu m' as envoyé pour que toute la liste en profite. Bonjour, Je pense que le problème vient de fichiers qui contiennent des espaces dans leur nom. La variable $fname contient alors un espace, ce qui produit deux arguments pour mv au lieu de un. La commande n'est alors valide que si la cible (le résultat du print) est un répertoire. Un moyen d'éviter ça serait de mettre "$fname" après le mv. Christophe. Et ça marche! Merci à toi. Thierry