Você pode usar
array=(*.jpg)
for ((i = ${#array[@]} - 1;i >= 0;i--)); do
echo ${array[i]}
done
Existe uma maneira fácil de inverter um loop? Para um script, quero processar os arquivos na ordem inversa.
Então, em vez de:
for file in *.jpg;
do echo $file;
done
com o resultado
001.jpg
002.jpg
003.jpg
...
150.jpg
Eu quero o resultado
150.jpg
149.jpg
148.jpg
...
001.jpg
No exemplo dado, você poderia usar
for num in 'seq -w 150 -1 1'
do echo $num.jpg
done
Obviamente, isso não é totalmente equivalente, pois não inverte realmente o globbing, mas gera a sequência externamente.
Tags bash scripting shell-script