• # En shell, rapide

    Posté par . En réponse au message Renommer 566 fichiers avec un nombre incrémental. Évalué à 4.

    Une solution simple et concise en shell:


    [binarym@trait-plat]:/tmp/test% ls
    a.jpg b.jpg c.jpg d.jpg e.jpg
    [binarym@trait-plat]:/tmp/test% i=584; for file in *.jpg ; do mv $file $(printf %.4d $i).jpg; i=$((i+1)) ; done
    [binarym@trait-plat]:/tmp/test% ls
    0584.jpg 0585.jpg 0586.jpg 0587.jpg 0588.jpg
    [binarym@trait-plat]:/tmp/test%


    Sachant que printf te permet de forcer le 0 de début ( le '.' devant entre le % et le 4), et que $(( )) te permet de faire de l'arithmétique (attention, ceci ne fonctionne pas sous tout les shells, mais à coup sur sous bash et zsh).