Le 29/09/06, jipe <[EMAIL PROTECTED]> a écrit :

> > find . -name '*.jpg' | while read file; do
> >     if [ -e "${file:5}" ]; then
> >         echo $file non renommé
> >         else mv "$file" "${file:5}"
> >     fi      
> > done
> >   
> 
> non, car alors le traitement ne se fera plus sur fichier.jpg mais sur
> dir1/dir2/.../fichier.jpg

Argh. Quel âne je fais. 

> mais on peut rendre un script récursif assez facilement
> tape ceci dans un terminal pour tester:
> 
> $ cmd() { pwd; }
> $ rec() { for rep in *; do [ -d "$rep" ] && (cd "$rep"; cmd; rec);
> done; } 
> $ cmd; rec

Tiens, ça boucle sur ~/tmp. J'ai l'impression que c'est à cause d'un
répertoire sur lequel je n'ai pas les bonnes permissions
(~/tmp/orbit-root).

Sinon, l'idée est jolie, même si j'ai toujours lu qu'il valait mieux
éviter la récursivité avec bash.

Et pis, il suffit de jouer avec basename et dirname pour réparer mon
bout de code :)
 
> > Puis tu l'exécutes :
> > ./rename.sh  
> 
> pas obligatoire si tu exécutes ton script de la manière suivante:
> sh rename.sh

Tu y vois un avantage ou bien c'est juste pour me reprendre ^_^ ?

> > 
> > Bon, j'ai peut-être dit des trucs que tu savais déjà, mais bon, je
> > me sentais l'âme pédagogique ce soir ^_^   
> 
> moi t'aussi :þ

<:o)


-- 
Christophe Gaubert
http://ch4tn01r.free.fr/blog
Participez à la liste Avis de citoyens :
http://fr.groups.yahoo.com/group/Avis_de_citoyens/

=========================================
Vous souhaitez acquerir votre Pack ou des Services Mandriva?
Rendez-vous sur "http://store.mandriva.com";.
Rejoignez le club mandrake : http://www.mandrivaclub.com
=========================================

Répondre à