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
doc:editeurs:rpl [03/05/2017 14:42]
bendia [rpl correction de texte] modif titre
doc:editeurs:rpl [01/12/2021 10:39] (Version actuelle)
ubub [Utilisation]
Ligne 1: Ligne 1:
-====== rpl tilitaire ​de recherche/​remplacement de texterécursif intelligent ​ ​======+====== rpl utilitaire ​de recherche/​remplacement de texte  ​======
  
-  * Objet : Utilisation de rpl pour Rechercher et Remplacer en ligne de commande+  * Objet : Utilisation de rpl pour Rechercher et Remplacer ​de façon récursive ​en ligne de commande
   * Niveau requis : {{tag>​débutant}}   * Niveau requis : {{tag>​débutant}}
   * Commentaires : //Parce que un éditeur de texte pour un fichier, c'est bien, mais en ligne de commande pour 20 fichiers, c'est mieux//   * Commentaires : //Parce que un éditeur de texte pour un fichier, c'est bien, mais en ligne de commande pour 20 fichiers, c'est mieux//
Ligne 43: Ligne 43:
 ==== La simulation ==== ==== La simulation ====
  
-Pour voir le résultat sans rien toucher, l'​option ''​-s''​ ou ''​--dry-run''​ permet de voir les fichiers qui serait modifier ​si besoin+Pour voir le résultat sans rien toucher, l'​option ''​-s''​ ou ''​--dry-run''​ permet de voir les fichiers qui seraient modifiés ​si besoin
  
 ==== La casse ==== ==== La casse ====
Ligne 58: Ligne 58:
 ==== Rechercher un mot entier ==== ==== Rechercher un mot entier ====
  
-On peut s'​assurer que le motif de recherche se limite à un mot entier avec l'​option ''​-w''​. Cela permet ainsi de remplacer ''​Bob''​ par ''​Alice''​dans notre tuto mais d'​éviter de se retrouver avec un truc du genre qui fait mauvais genre dans votre devoir de Français ;-)+On peut s'​assurer que le motif de recherche se limite à un mot entier avec l'​option ''​-w''​. Cela permet ainsi de remplacer ''​Bob''​ par ''​Alice''​dans notre tuto mais d'​éviter de se retrouver avec un truc qui fait mauvais genre dans votre devoir de Français ;-)
 <​code>​Tire la chevillette,​ et la Aliceinette cherra</​code>​ <​code>​Tire la chevillette,​ et la Aliceinette cherra</​code>​
 +
 +===== Un TP pour bien comprendre =====
 +
 +Nous allons essayer d'​illustrer l'​utilisation de rpl et quelques-une de ses options en s'​exercant sur quelques fichiers d'​exemple
 +
 +==== Mise en place ====
 +
 +On va préparer un petit environnement d'​exemple,​ avec des fichiers aynat différentes extensions, placés dans différents dossiers. Il suffit de télécharger ce fichier et l'​executer (ou appliquer les commandes une par une) :-p
 +
 +<file bash TPrpl.sh>​
 +#!/bin/sh
 +cd /tmp
 +mkdir -P test/​dossier
 +cd test
 +echo "Bob tire la Bobinette"​ > f1.txt
 +cp f1.txt f2.html
 +cp f1.txt f3.tex
 +cp f* dossier/
 +</​file>​
 +
 +==== TP ====
 +
 +<code user>rpl "​Bob"​ "​Alice"​ f1.txt</​code>​
 +<​code>​Replacing "​Bob"​ with "​Alice"​ (case sensitive) (partial words matched)
 +.
 +A Total of 2 matches replaced in 1 file searched.
 +</​code>​
 +<code user>cat f1.txt</​code>​
 +<​code>​Alice tire la Aliceinette</​code>​
 +<code user>cat f2.html</​code>​
 +<​code>​Bob tire la Bobinette</​code>​
 +<code user>cat dossier/​f*</​code>​
 +<​code>​Bob tire la Bobinette
 +Bob tire la Bobinette
 +Bob tire la Bobinette</​code>​
 +
 +Donc, on a touché uniquement à ''​f1.txt''​ (puisqu'​on l'a explicitement donné en argument). LE fichier f1.txt situé dans ''/​dossier''​ n'a pas été modifié. Et on voit que toutes les occurences de ''​Bob''​ on été remplacée, même dans un mot.
 +
 +Remettons donc les choses comme à l'​origine <code user>rpl "​Alice"​ "​Bob"​ f1.txt</​code>​
 +
 +Pour que seul le mot complet ''​Bob''​ soit remplacé, on va utiliser l'​option ''​-w''​.
 +<code user>rpl -w "​Bob"​ "​Alice"​ f1.txt</​code>​
 +<​code>​Replacing "​Bob"​ with "​Alice"​ (case sensitive) (partial words matched)
 +.
 +A Total of 2 matches replaced in 1 file searched.
 +</​code>​
 +
 +</​code><​code>​Replacing "​Bob"​ with "​Alice"​ (case sensitive) (whole words only)
 +.
 +A Total of 1 matches replaced in 1 file searched.
 +</​code>​
 +Et pour vérifier
 +<code user>cat f1.txt</​code>​
 +<​code>​Alice tire la Bobinette</​code>​
 +
 +Remplaçont à présent ''​Bob''​ par alice dans tous le dossier <code user>rpl -w "​Bob"​ "​Alice"​ *</​code><​code>​Replacing "​Bob"​ with "​Alice"​ (case sensitive) (whole words only)
 +...
 +A Total of 2 matches replaced in 3 files searched.
 +</​code>​
 +<code user>cat f*</​code><​code>​Alice tire la Bobinette
 +Alice tire la Bobinette
 +Alice tire la Bobinette
 +</​code>​
 +
 +<code user>cat dossier/​f*</​code><​code>​Bob tire la Bobinette
 +Bob tire la Bobinette
 +Bob tire la Bobinette</​code>​
 +
 +On voit donc que seul les fichiers du dossier ''​test''​ sont modifiés. Pour modifier l'​ensemble des fichiers de tous les dossiers, on va utiliser l'​option ''​-R''​
 +
 +Corrigeons donc ce //B// majuscule
 +
 +<code user>rpl -R "​Bobinette"​ "​bobinette"​ *</​code>​
 +
  
 ===== Pour aller plus loin ===== ===== Pour aller plus loin =====
  
 N'​hésitez pas à consulter la page de manuel pour voir toutes les options N'​hésitez pas à consulter la page de manuel pour voir toutes les options
-<code user>man rpl</​code>​ +<code user>man rpl
  
  
doc/editeurs/rpl.1493815330.txt.gz · Dernière modification: 03/05/2017 14:42 par bendia

Pied de page des forums

Propulsé par FluxBB