Personnellement, je n'ai jamais trouvé plus puissant que zsh pour faire du renommage de fichier.
Pour le renommage demandé, on peut faire une boucle for :
c=1; for i (toto.*) mv $i ${(l:4::0:)$((c++))}.$i:r
Ou utiliser zmv (intégré dans zsh) :
c=1 zmv 'toto.*' '${(l:4::0:)$((c++))}.toto.bis'
Pour faire l'ensemble des opérations demandées (renommage + création), ça tient en une ligne (même pas besoin de créer un fichier exprès pour) :
c=1; for i (toto.*) {mv $i ${(l:4::0:)c}.$i:r; touch ${(l:4::0:)$((c++))}.bis.$i:e}
Pour la plupart des renommages courants, c'est très simple à utiliser.
Partager