Inverser les résultats pour "for in * do" -loops

Duplicata possible:
Comment inverser une boucle for?

Existe-t-il un moyen facile d'inverser une boucle? Pour un script, je veux traiter les files dans leur ordre inverse.

Donc au lieu de:

for file in *.jpg; do echo $file; done 

avec le résultat

 001.jpg 002.jpg 003.jpg ... 150.jpg 

Je veux le résultat

 150.jpg 149.jpg 148.jpg ... 001.jpg 

Vous pouvez utiliser

 array=(*.jpg) for ((i = ${#array[@]} - 1;i >= 0;i--)); do echo ${array[i]} done 

Dans l'exemple donné, vous pourriez utiliser

 for num in `seq -w 150 -1 1` do echo $num.jpg done 

Ceci n'est bien entendu pas totalement équivalent, car il n'inverse pas vraiment le globbing, mais génère plutôt la séquence en externe.