logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:smolski:tutos:script-renames [19/09/2020 11:47]
smolski [Scripts find + rename]
utilisateurs:smolski:tutos:script-renames [04/10/2020 07:47] (Version actuelle)
smolski [Scripts - renommer fichiers et répertoires]
Ligne 1: Ligne 1:
 ====== Scripts - renommer fichiers et répertoires ====== ====== Scripts - renommer fichiers et répertoires ======
  
-  * Objet : Sripts ​pour renommer des séries de répertoires et fichiers+  * Objet : Scripts ​pour renommer des séries de répertoires et fichiers
   * Niveau requis : {{tag>​débutant avisé}}   * Niveau requis : {{tag>​débutant avisé}}
   * Commentaires : //À l'​occasion d'une remise à plat de ma cinémathèque,​ je me trouve à devoir homogénéiser le nom des fichiers et répertoires des films présents sur divers disques durs. //   * Commentaires : //À l'​occasion d'une remise à plat de ma cinémathèque,​ je me trouve à devoir homogénéiser le nom des fichiers et répertoires des films présents sur divers disques durs. //
   * 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à !.]] :-)
 +  * Lien vers le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=343422#​p343422]]
  
 ===== Introduction ===== ===== Introduction =====
Ligne 15: Ligne 16:
  
 ===== Scripts find + rename ===== ===== Scripts find + rename =====
 +
 +Exemple d'​utilisation de find et rename pour renommer en masse des fichiers et des dossiers.
  
 ==== Installation ==== ==== Installation ====
Ligne 22: Ligne 25:
 D'​abord mettre à jour ses paquets, voir [[doc:​systeme:​apt|les outils apt pour plus d'​explications]] D'​abord mettre à jour ses paquets, voir [[doc:​systeme:​apt|les outils apt pour plus d'​explications]]
 <code root>apt update && apt full-upgrade</​code>​ <code root>apt update && apt full-upgrade</​code>​
-Et installer les 2 bouzins ​:+Et installer les 2 paquets ​:
 <code root>apt install rename find</​code>​ <code root>apt install rename find</​code>​
- 
  
 <note important>​Documentation find : [[doc:​systeme:​find|dans le tuto find]].</​note>​ <note important>​Documentation find : [[doc:​systeme:​find|dans le tuto find]].</​note>​
Ligne 34: Ligne 36:
 Suite à un repositionnement de plusieurs listes de films il me faut renommer les titres en supprimant tous les aspects purement littéraux qui falsifieraient le résultat des commandes que j'​utilise pour la gestion informatique de l'​ensemble de la cinémathèque. Suite à un repositionnement de plusieurs listes de films il me faut renommer les titres en supprimant tous les aspects purement littéraux qui falsifieraient le résultat des commandes que j'​utilise pour la gestion informatique de l'​ensemble de la cinémathèque.
  
-=== Espaces apostrophe ​et tiret ===+<note info>​Pour l'​exemple,​ on considérera que toute la cinémathèque est stockée dans le dossier ''/​mnt/​bla/'',​ et l'on veut renommer tous les dossiers, sous-dossiers,​ et leurs fichiers avec différentes contraintes.</​note>​ 
 + 
 +=== Remplacer les espaces ​et apostrophes === 
 + 
 +Pour remplacer les espaces et les apostrophes par, respectivement,​ des ''​_''​ et des ''​-''​ dans les noms de fichiers/​dossiers. 
 + 
 +<code user>​find /mnt/bla/ -depth -execdir rename "y/ '/​_-/"​ "​{}"​ \;</​code>​ 
 + 
 +=== Supprimer les parenthèses === 
 + 
 +Pour supprimer les parenthèses dans les noms de fichiers/​dossiers. 
 + 
 +<code user>​find /mnt/bla/ -depth -execdir rename "​s/​[\)\(]//​g"​ "​{}"​ \;</​code>​ 
 + 
 +=== Mettre en majuscule la première lettre === 
 + 
 +Pour mettre la première lettre en majuscule dans les noms de fichiers/​dossiers. 
 + 
 +<code user>​find /mnt/bla/ -depth -execdir rename "​s/​^\.\/​(.)/​.\/​\U\$1/"​ "​{}"​ \;</​code>​ 
 + 
 +=== Tout d'un coup ===
  
-  - Nous utiliserons ici le nom "b l'​a"​ pour l'​exemple. - Dans /b l'a/ - remplacer ​les espaces par un underscore (ou Tirets bas en fr) " _ " ​ et les apostrophes " ' " par un petit tiret " - ". +Pour enchaîner toutes ​les substitutions ​en une seule commande ​:
-     - Exemple :<code user>​find /b l'a/ -depth -execdir rename "​y/'/​_-/"​ "​{}"​ \;</​code>​Donnera : b_l-a +
-  -  Nous utiliserons ici le nom "​bl(a)"​ pour l'​exemple. - Supprimer les parenthèses dans /b(la)/, ses sous-répertoires et celui des fichiers contenus :<code user>​find /b(la)/ -depth -execdir rename "​s/​[\)\(]//​g"​ "​{}"​ \;</​code>​Donnera : bla. +
-  - Mettre en majuscule la première lettre des dossiers d'un répertoire nommé /bla/, de tous ses sous-répertoires et des fichiers contenus :<code user>​find /bla/ -depth -execdir rename "​s/​^\.\/​(.)/​.\/​\U\$1/"​ "​{}"​ \;</​code>​ Donnera : Bla+
  
-Combinaison de ces 3 codes : +<code user>​find /mnt/bla/ -depth -execdir rename "y/ '/​_-/;​s/​[\)\(]//​g;​s/​^\.\/​(.)/​.\/​\U\$1/"​ "​{}"​ \;</​code>​
-   ​- ​ Nous utiliserons le nom "b l'​(a)"​ pour l'​exemple.<code user>​find /b (l'a)/ -depth -execdir rename "y/ '/​_-/;​s/​[\)\(]//​g;​s/​^\.\/​(.)/​.\/​\U\$1/"​ "​{}"​ \;</​code>​Donnera B_l-a+
  
utilisateurs/smolski/tutos/script-renames.1600508869.txt.gz · Dernière modification: 19/09/2020 11:47 par smolski

Pied de page des forums

Propulsé par FluxBB