Ce qui suit ne fonctionnera pas pour les fichiers contenant des nouvelles lignes, mais devrait fonctionner le reste du temps. Elle triera les fichiers en fonction de l'heure à laquelle ils ont été modifiés pour la dernière fois, plutôt que de leur heure de création réelle, car Ubuntu ne stocke pas l'heure de création des fichiers. Ainsi, si vous avez modifié les fichiers depuis que vous les avez téléchargés, vous n'obtiendrez pas un classement précis.
n=0; ls -tr | while read i; do n=$((n+1)); mv -- "$i" "$(printf '%03d' "$n")"_"$i"; done
ls -tr
trie les fichiers par temps de modification, le plus ancien en premier (et quand vous pipez la sortie de ls, il liste automatiquement les fichiers une par ligne plutôt que la façon standard de faire les choses -- il faut noter que c'est un GNU-isme, si vous devez travailler sur un autre *nix avec une version différente de ls
mais ce n'est peut-être pas le cas). while read i
prend cette liste et passe en revue chaque élément un par un, et le reste du programme se charge du renommage proprement dit.
n=$((n+1))
incrémente la variable $n
par un. Il pourrait y avoir des problèmes si cette valeur avait été définie au préalable ; par prudence, il est donc préférable de la fixer à 0 au début de la ligne.
$(printf '%03d' "$n")
imprime le nombre contenu dans la variable $n, complété par trois zéros (donc 001, 002 ... 087 ... 999). J'espère que la variable mv
est assez évidente.