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 [18/09/2020 16:19]
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:
-====== ​Script rename ​======+====== ​Scripts - renommer fichiers et répertoires ​======
  
-  * Objet : Des scripts ​pour renommer des séries de répertoires+  * 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éïser ​le nom des fiechiers ​et répetoires ​des films présents sur divers disques. //+  * 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 =====
  
-En cas de modification ​des noms de fichiers ​et répertoires :+<note warning>  
 +  - Il est dangereux d'​utiliser des scripts dont on ne connaît pas la signification ni la provenance afin de se renseigner pour leur usage perso. 
 +  - Il est dangereux d'​utiliser ​des scripts sans les tester sur une petite sav en exemple. 
 +  - Il est préférable d'​avoir des sauvegardes complètes de ce que l'on va renommer, quitte après ​de s'en débarrasser une fois le travail fait et vérifié. 
 +</​note>​
  
-<note warning>​Il est dangereux d'​utiliser des scripts dont on ne connaît pas la provenance. +===== Scripts find + rename =====
-Il est dangereux d'​utiliser des scripts sans les tester sur une petite sav. +
-Il est préférable d'​avoir des sav abondantes de ce que l'on va renommer, quitte après de s'en débarrasser une fois le travail fait et vérifié.</​note>​+
  
-===== Installation =====+Exemple d'​utilisation de find et rename pour renommer en masse des fichiers et des dossiers.
  
-On installe ​le paquet ​rename :+==== Installation ==== 
 + 
 +On installe ​les paquets ​rename ​et find :
  
 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 ​11 apt full-upgrade</​code>​ +<code root>apt update ​&& ​apt full-upgrade</​code>​ 
-Et installer ​le bouzin ​+Et installer ​les 2 paquets ​
-<code root>apt install rename</​code>​+<code root>apt install rename ​find</​code>​
  
-===== Scripts ​find rename =====+<note important>​Documentation find : [[doc:​systeme:​find|dans le tuto find]].</​note>​ 
 + 
 +==== Exécution ​==== 
 + 
 +//(Ce titre n'est pas un vain mot, ici...)// :-D 
 + 
 +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. 
 + 
 +<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.
  
-Documentation ​find [[doc:​systeme:​find|dans le tuto find]].+<code user>find /mnt/bla/ -depth -execdir rename "s/[\)\(]//g" "​{}"​ \;</​code>​
  
-Mettre ​une majuscule ​à la première lettre ​de tous les répertoires et sous-répertoire d'un répertoire nommé bla : +=== Mettre ​en majuscule la première lettre ​===
-<code user>​find -depth -execdir rename "​y/​\U\$1/"​ "​{}"​ \;</​code>​+
  
 +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 ===
  
 +Pour enchaîner toutes les substitutions en une seule commande :
  
 +<code user>​find /mnt/bla/ -depth -execdir rename "y/ '/​_-/;​s/​[\)\(]//​g;​s/​^\.\/​(.)/​.\/​\U\$1/"​ "​{}"​ \;</​code>​
  
-find -depth -execdir rename "y/ '/​_-/;​s/​[\)\(]//​g;​s/​^\.\/​(.)/​.\/​\U\$1/"​ "​{}"​ \; 
utilisateurs/smolski/tutos/script-renames.1600438769.txt.gz · Dernière modification: 18/09/2020 16:19 par smolski

Pied de page des forums

Propulsé par FluxBB