Salut MisterFreeZ,
Bon, j'ai rien contre zsh que je me suis d'ailleurs installé pour au moins pouvoir tester tes commandes le cas échéant
MisterFreez a écrit:
[...]
zsh possède une syntaxe pour ne pas avoir à utiliser sed :
Code:
v='c-o-u-c-o-u'
echo ${v/-/_} # affiche c_o-u-c-o-u
echo ${v:s/-/_} # affiche c_o-u-c-o-u
echo ${v:gs/-/_} # affiche c_o_u_c_o_u
Là c'est même légèrement + rapide sous bash :
Code:
bash --version
GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu)
v='c-o-u-c-o-u'
echo ${v/-/_}
c_o-u-c-o-u
echo ${v//-/_}
c_o_u_c_o_u
MisterFreez a écrit:
[...]
On peut même faire des choses comme ça :
Code:
c=1
zmv '(*).JPEG' 'photo$((c++)).jpg'
Ici zsh remporte le match haut la main, perso sous bash j'ai pas mieux que ça
Code:
####### GNU bash, version 4.1.5
find -iname '*.jpeg' | sort
./fichier1322954852.JPEG
./Rep_1/fichier1322954853.JPEG
./Rep_2/fichier1322954854.JPEG
./Rep_3/fichier1322954855.JPEG
Code:
####### GNU bash, version 4.1.5
c=1 ; for file in $(find -name '*.JPEG') ; do mv ${file} ${file%/*}/photo_$((c++)).jpeg ; done
Code:
####### GNU bash, version 4.1.5
find -iname '*.jpeg' | sort
./photo_3.jpeg
./Rep_1/photo_1.jpeg
./Rep_2/photo_2.jpeg
./Rep_3/photo_4.jpeg
Si tu penses qu'on peut le faire directement avec find (je ne pense pas, mais je n'en suis pas certain) donne une autre solution que celle que tu avais déjà donné et qui ne marche pas sous bash comme sous zsh ( ben oui, je l'ai maintenant, j'suis chiand hein ?

)
Code:
zsh 4.3.10 ou GNU bash, version 4.1.5(1)
find . -name '*.jpeg' -exec var=\{\} && mv \{\} ${var/.jpeg/.JPEG} \;
find: Paramètre manquant pour « -exec »
Je l'avais noté en me disant : "super !" puis le jour où j'en ai eu besoin j'ai constaté avec dépit que ça ne fonctionnait pas, groumfff ...
Pour le reste c'est pareil, on peut faire avec bash, c'est un peu plus long c'est vrai.
Sinon j'ai remarqué que le man de szh fait 314 lignes là où le man de bash en compte 4345 ! ( j'ai une montagne de travail, mais j'ai pas un shell Corse moi

)
Je ne sais pas pourquoi il y a une telle différence ? il doit bien y avoir une raison !
En tout cas moi je reste sous Bash, je l'adore malgrés ses défauts
Ciao
