Pages : 1
#1 Le 26/02/2006, à 21:42
- thierryg
Re-numéroter des fichiers en masse
Bonjour à tous,
Quelqu'un peut-il me donner une idée pour incrémenter de p la numérotation d'une série de fichiers d'un répertoire.
C'est à dire faire passer chaque fichier de foo_n à foo_(n+p).
Merci d'avance.
Hors ligne
#2 Le 27/02/2006, à 09:56
- Bismut
Re : Re-numéroter des fichiers en masse
Krename ?
Mac Mini 2009 avec Archlinux
Asus EeePC S101 avec Archlinux
HTC Magic avec Android
Hors ligne
#3 Le 27/02/2006, à 10:22
- sksbir
Re : Re-numéroter des fichiers en masse
C'est facile de faire ça en shell :
cd /le_repertoire_qui_contient_tes_fichiers
P=8 (par exemple)
for X in *
do
Y=`echo $X|cut -c-5- `
Y=`expr $Y + $P `
echo mv $X foo_$Y
done
Tu peux le taper tel quel dans un terminal, ou le sauver dans un fichier puis l'exécuter par sh monfichier
Précision importante : Le script ne touche à rien, et se contente d'afficher les commandes mv qui feront le renommage. (c'est d'autant plus important que je n'ai pas pu tester le script moi-même).
Donc tu peux l'exécuter sans aucun risque, et une fois que le résultat te plait, tu peux alors enlever l'instruction "echo" devant mv pour réellement exécuter les renommages.
ps : il y a quelques limitation dans cet exemple : par exemple, pas d'espace dans les noms des fichiers, sinon le script ne fera pas les renames...
Dernière modification par sksbir (Le 27/02/2006, à 18:07)
Hors ligne
#4 Le 27/02/2006, à 17:58
- thierryg
Re : Re-numéroter des fichiers en masse
Bonjour,
J'ai essayé ton script, malheureusement il n'a pas fonctionné.
Il me sort sur l'écran:
mv ancien fichier foo_expr $Y+P.
Apparemment il y a un problème au niveau de la commande cut !
Je me penche dessus et merci pour ton idée.
Hors ligne
#5 Le 27/02/2006, à 18:00
- wam
Re : Re-numéroter des fichiers en masse
je me disais bien que j'avais vu cet avatar quelque part. C'est celui de Keyes!
http://forum.ubuntu-fr.org/viewtopic.php?id=28390
ça serait sympa pour lui si tu en changeais stp.
Hors ligne
#6 Le 27/02/2006, à 18:05
- sksbir
Re : Re-numéroter des fichiers en masse
Bonjour,
J'ai essayé ton script, malheureusement il n'a pas fonctionné.
Il me sort sur l'écran:
mv ancien fichier foo_expr $Y+P.
Apparemment il y a un problème au niveau de la commande cut !
Je me penche dessus et merci pour ton idée.
D'apres ce que tu obtiens, tu as oublié les antiquotes ( ` ), ou alors tu as mis des quotes ( ' ) à la place....
ha, et sinon, il y a une erreur : c'est `expr $Y + $P ` qu'il faut mettre. désolé.
(d'où l'importance de TOUJOURS commencer par mettre une commande inoffensive dans le script )
Dernière modification par sksbir (Le 27/02/2006, à 18:09)
Hors ligne
#7 Le 27/02/2006, à 21:32
- thierryg
Re : Re-numéroter des fichiers en masse
Bonsoir,
Une fois les modificatios appliquées je me retrouve avec la sortie suivantes :
cut: Octet ou champ de liste invalide.
Pour en savoir davantage, faites: « cut --help ».
mv DSC_0001.JPG foo_+8
cut: Octet ou champ de liste invalide.
Pour en savoir davantage, faites: « cut --help ».
mv DSC_0002.JPG foo_+8
J'ai fait man cut mais ça ne m'a pas beaucoup appris.
Pourquoi as-tu choisi l'option -c -5- dans cut ?
Ta réponse me clarifiera peut-être les idées.
Merci
Hors ligne
#8 Le 27/02/2006, à 22:58
- sksbir
Re : Re-numéroter des fichiers en masse
ouaip, bien vu . La bonne syntaxe est :
echo foo_124|cut -c5-
124
Evidemment, dans la soirée, j'ai moi-même une machine linux sous la main, ça va tout de suite mieux...
Par contre, il était question de fichiers nommés foo_n, pas de fichiers nommés foo_n.DSC
Donc la bonne syntaxe est :
$ ls DSC*
DSC_001.JPG DSC_004.JPG DSC_006.JPG
$ for X in DSC*;do Y=`echo $X|cut -c5-7`; Y=`expr $Y + 8`; echo mv $X foo_$Y.DSC; done
mv DSC_001.JPG foo_9.DSC
mv DSC_004.JPG foo_12.DSC
mv DSC_006.JPG foo_14.DSC
$
Dernière modification par sksbir (Le 27/02/2006, à 22:59)
Hors ligne
#9 Le 27/02/2006, à 23:27
- thierryg
Re : Re-numéroter des fichiers en masse
Merci, cela marche parfaitement.:)
Au cours de cette recherche j'ai aussi découvert deux petits scripts "mrename" téléchargeables avec synaptic et qui fonctionnent assez bien.
Cela peut peut-être t'intéresser.
Hors ligne
#10 Le 27/02/2006, à 23:50
- sksbir
Re : Re-numéroter des fichiers en masse
oui, et il y en a d'autre du même genre.
Mais aucun n'atteint malheureusement la facilité d'un petit utilitaire graphique que j'ai eu l'occasion de tester sous windows qui s'appelait "better file rename".
Je veux dire, si c'est pour utiliser des scripts, je préfère encore les faire moi-même
Hors ligne
Pages : 1