Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:systeme:rename [22/09/2013 23:31] 127.0.0.1 modification externe |
doc:systeme:rename [28/05/2018 17:41] enicar [Exemples] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== rename ====== | ====== rename ====== | ||
- | (//testé// - **smolski** 09/01/2013) Le retour sur le forum est ici : [[http://debian-facile.org/viewtopic.php?id=6382 | Lien vers le forum concernant ce tuto]] \\ | + | * Objet : Commande rename |
- | //N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !// | + | * Niveau requis :{{tag>débutant avisé}} |
- | + | ||
- | * Objet : rename | + | |
- | * Niveau requis : DÉBUTANT | + | |
* Commentaires : // Modifier en série le nom des fichiers par la ligne de commande. // | * Commentaires : // Modifier en série le nom des fichiers par la ligne de commande. // | ||
- | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | + | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) |
+ | * Suivi : {{tag>à-compléter}} | ||
+ | * Création par [[user>smolski]] le 09/01/2013 | ||
+ | * Testé par [[user>smolski]] le 09/01/2013 | ||
+ | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=6382 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
+ | |||
===== Introduction ===== | ===== Introduction ===== | ||
Ligne 18: | Ligne 21: | ||
Pour les exemples de ce tuto, créez le répertoire(([[:doc:systeme:mkdir]])) //test_rename// dans votre ///home/user// ainsi : | Pour les exemples de ce tuto, créez le répertoire(([[:doc:systeme:mkdir]])) //test_rename// dans votre ///home/user// ainsi : | ||
- | <code bash> | + | <code user>mkdir ~/test_rename</code> |
- | mkdir ~/test_rename</code> | + | |
- | + | ||
- | Déplacez-vous(([[:doc:programmation:shell:cd]])) dans ce répertoire : | + | |
- | <code bash> | + | |
- | cd ~/test_rename</code> | + | |
===== Renommer un fichier ===== | ===== Renommer un fichier ===== | ||
Maintenant, créez(([[:doc:systeme:touch]])) dans ce répertoire le fichier //nimporte// : | Maintenant, créez(([[:doc:systeme:touch]])) dans ce répertoire le fichier //nimporte// : | ||
- | <code bash> | + | <code user>touch ~/test_rename/nimporte</code> |
- | touch nimporte</code> | + | |
Contrôle(([[:doc:systeme:ls]])) : | Contrôle(([[:doc:systeme:ls]])) : | ||
- | <code bash> | + | <code user>ls ~/test_rename/</code> |
- | ls</code> | + | |
nimporte | nimporte | ||
Renommez ce fichier //nimporte// en //test1// : | Renommez ce fichier //nimporte// en //test1// : | ||
- | <code bash> | + | <code user>rename 's/nimporte/test1/' ~/test_rename/nimporte</code> |
- | rename 's/nimporte/test1/' nimporte</code> | + | |
Résultat : | Résultat : | ||
- | <code bash> | + | <code user>ls ~/test_rename/</code> |
- | ls</code> | + | |
test1 | test1 | ||
- | Il est bien sûr préférable d'utiliser la commande mv pour faire cela en plus simple. :-) | + | == Nota : == |
+ | |||
+ | Il est bien sûr préférable d'utiliser [[doc:systeme:mv | la commande mv]] pour faire cela en plus simple. :-) | ||
===== Renommer en série ===== | ===== Renommer en série ===== | ||
- | Maintenant créons dans le même répertoire test_rename __une série de fichiers__ contenant des majuscules dans leurs noms et leurs extentions, par exemple : | + | Maintenant créons dans le même répertoire test_rename __une série de fichiers__ contenant des majuscules dans leurs noms et leurs extentions : |
- | <code bash> | + | <code user>cd ~/test_rename/</code> |
- | touch TEST2 TEsT3 test.JPG tESt.ODT</code> | + | <code user>touch TEST2 TEsT3 test.JPG tESt.ODT</code> |
Contrôle : | Contrôle : | ||
- | <code bash> | + | <code user>ls</code> |
- | ls</code> | + | |
test1 TEST2 TEsT3 test.JPG tESt.ODT | test1 TEST2 TEsT3 test.JPG tESt.ODT | ||
Pour mettre tous les noms de tous les fichiers ainsi que toutes leurs extentions en minuscule, utilisez des expressions régulières(([[:doc:programmation:shell:regexp]] en cours d'amélioration...)) comme ceci : | Pour mettre tous les noms de tous les fichiers ainsi que toutes leurs extentions en minuscule, utilisez des expressions régulières(([[:doc:programmation:shell:regexp]] en cours d'amélioration...)) comme ceci : | ||
- | <code bash> | + | <code user>rename 'y/[A-Z]/[a-z]/' *</code> |
- | rename 'y/[A-Z]/[a-z]/' *</code> | + | |
Résultat : | Résultat : | ||
- | <code bash> | + | <code user>ls</code> |
- | ls</code> | + | |
test1 test2 test3 test.jpg test.odt | test1 test2 test3 test.jpg test.odt | ||
+ | |||
+ | ===== Exemples ===== | ||
+ | |||
+ | ==== Changer les extentions de plusieurs fichiers ( .gz.1 en .gz par exemple ) ==== | ||
+ | <code user>rename 's/\.1$//' *.gz.1</code> | ||
+ | * **s** indique l'action de substitution. Cette action est constitué de deux parties. Un motif à faire correspondre et une chaîne de substitution (ou remplacement) pour ce motif. Cela veut dire qu'on va substituer le motif par la chaîne de remplacement. En résumé l'opérateur de substitution est constitué comme suit : s/MOTIF/REMPLACEMENT/. | ||
+ | * **\.1$** Est une regexp qui indique le texte que l'on veut modifier dans laquelle : | ||
+ | * **\.1** précise le texte à modifier .1 ( on utilise le \ devant le . le \. est important car dans le langage des regexp « . » désigne n'importe quel caractère. | ||
+ | * **$** précise que le texte ( ici .1 ) est situé a la fin ( pour éviter de changer des 1 qui seraient au milieu du mot et sans rapport avec le .gz1 ) | ||
+ | * ***.gz.1** Dit que l'on applique la commande rename sur tous les fichiers ( * ) mais finissant par .gz.1 | ||
+ | | ||
===== Liens ===== | ===== Liens ===== | ||