[Linux-31] tri par nom
jdanield
jdanield at free.fr
Mer 7 Jan 19:04:28 CET 2015
Le 07/01/2015 18:16, jpcas a écrit :
> $ for i in *.*;do rep="${i::1}" && mkdir -vp "${rep^}" && mv -v "${i}" "${rep^}"/"${i}";done
oui...
c'est passionnant, le bash, quand on a du temps à perdre :-)
for i in *.*, je comprends, sauf que pourquoi *.* et pas * ?
d'ailleurs je crois que
for i ;
fait la même chose. il y a sûrement des finesses que je ne connais pas :-(
i::1
m'a donné du fil à retordre (pas facile à chercher sure le web)
http://wiki.bash-hackers.org/syntax/pe#substring_expansion
en fait : (colon, en anglais), est un opérateur de sous-chaine
chaine:debut:nombre
là il faut lire: chaine-i:0:1 donc 1 caractère à partir du début de la
chaine i. Ouf!
le ^ après rep, c'est pour tout mettre en majuscules, bonne idée.
et ca marche nickel,
merci!
jdd
Plus d'informations sur la liste de diffusion Linux-31