#1 Le 05/07/2012, à 10:10
- Djorgeo
renommer des fichiers par decalage d'indice
Bonjour à tous,
Je chercher (sans succès) sur le net un script qui me permettrait de renommer une centaine de fichier juste par décalage d'indice :
fichier1 deviendrait fichier12 ;
fichier2 deviendrait fichier13 ;
fichier3 deviendrait fichier14 ;
fichier4 deviendrait fichier15 ;
...
en conservant l'ordre initial qui a son importance.
quelqu'un aurait-il ce genre de chose ?
Merci
L'homme en noir fuyait à travers le désert, et le Pistoléro le suivait ...
Hors ligne
#2 Le 05/07/2012, à 10:11
- LeXav
Re : renommer des fichiers par decalage d'indice
Pyrenamer ? assez complet, on peut faire plein de truc avec...
Geek dans la mode enfantine.
La Queue du Chat
Progression du libre dans la boite : 70%
Nombre d'users restant a convertir : 3 :-)
Hors ligne
#3 Le 05/07/2012, à 10:23
- pingouinux
Re : renommer des fichiers par decalage d'indice
Bonjour,
Attention aux recouvrements d'indices, tester d'abord avec echo :
for i in {4..1}; do echo mv -i fichier$i fichier$((i+11)); done
Puis :
for i in {4..1}; do mv -i fichier$i fichier$((i+11)); done
Hors ligne
#4 Le 05/07/2012, à 11:07
- Djorgeo
Re : renommer des fichiers par decalage d'indice
Merci bcp, tu n'imagines même pas le temps que je viens de gagner
Dernière modification par Djorgeo (Le 05/07/2012, à 11:07)
L'homme en noir fuyait à travers le désert, et le Pistoléro le suivait ...
Hors ligne
#5 Le 05/07/2012, à 14:34
- sputnick
Re : renommer des fichiers par decalage d'indice
What about :
$ ls -1
a001.pnk
a002.pnk
a003.pnk
a004.pnk
a005.pnk
a006.pnk
a007.pnk
a008.pnk
a009.pnk
a010.pnk
$ rename 's/(\d+)/sprintf("%04d", $1 + 11)/e' *pnk
$ ls -1
a012.pnk
a013.pnk
a014.pnk
a015.pnk
a016.pnk
a017.pnk
a018.pnk
a019.pnk
a020.pnk
a021.pnk
le sprintf sert à garder les "leading zero", si t'a pas de zeros dans tes chiffres, ceci fera l'affaire :
rename 's/(\d+)/$1 + 11/e' *pnk
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#6 Le 05/07/2012, à 15:30
- Hizoka
Re : renommer des fichiers par decalage d'indice
tu dechires sputnick....
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#7 Le 05/07/2012, à 16:23
- sputnick
Re : renommer des fichiers par decalage d'indice
Merci Hizoka
Pour aller plus loin et plus propre :
plus=23 rename 's/\d+/sprintf("%04d", $& + $ENV{plus})/e' *pnk
On utilise donc une variable d’environnement plus pour spécifier l’incrément.
Aussi, plus besoin de captures avec ( ), on utilise $& (comme un & de sed)
Dernière modification par sputnick (Le 05/07/2012, à 16:28)
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne