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
Prochaine révision Les deux révisions suivantes
utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes [14/08/2014 08:36]
Hypathie [Introduction]
utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes [14/08/2014 09:37]
Hypathie [Les expressions rationnelles basiques et les commandes GNU/Linux]
Ligne 52: Ligne 52:
 Les concernant, je me limiterai strictement à leur utilisation des //​ER//​. ​ Les concernant, je me limiterai strictement à leur utilisation des //​ER//​. ​
  
-====Avant de commencer un rappel des métacaractères du shell====+====Pour ne plus confondre "métacaractères" ​du shell et caractères des ER====
  
-  * Rappel des caractères du shell servant au "​globbing" ​:+===Rappel des caractères du shell servant au "​globbing" ​===
  
 ^"​métacaractères"​ ^significations ^exemples ^ ^"​métacaractères"​ ^significations ^exemples ^
 |**Les métacaractères du shell (ou joker)** ||| |**Les métacaractères du shell (ou joker)** |||
-|**''​*''​** |n'​importe quelle chaîne de n'​importe quels caractères |''​ls b*''​\\ **liste**\\ b\\ b2\\ bibi\\ bobo\\ bidule\\ ...\\ **mais pas** titi\\ to\\ ... |+|**''​*''​** |n'​importe quelle chaîne de n'​importe quels caractères |''​ls b*''​\\ **liste**\\ b\\ b2\\ bibi\\ bobo\\ bidule\\ ...\\ **mais pas**\\ titi\\ to\\ ... |
 |**''?''​** |un caractère quelconque et un seul |''​rm tit?''​ **supprime**\\ tito\\ titi\\ tit~\\ ...\\ **mais pas**\\ tintin\\ titi.txt\\ ... |  ​ |**''?''​** |un caractère quelconque et un seul |''​rm tit?''​ **supprime**\\ tito\\ titi\\ tit~\\ ...\\ **mais pas**\\ tintin\\ titi.txt\\ ... |  ​
 |**les "​bracket expression"​ **                   ||| |**les "​bracket expression"​ **                   |||
-|**''​[ ]''​** |un caractère cité dans la liste entre crochets |''​echo [Tt][io]t[io]''​((echo "​Toto ​Titi toto titi tito" | echo [Tt][io]t[io]))\\ **affiche les fichiers**\\ Toto\\ ​toto\\ tito\\ toti\\ ..\\ **mais pas** loto\\ ... | +|**''​[ ]''​** |un caractère cité dans la liste entre crochets |''​echo [Tt][io]t[io]''​((echo "​Toto ​Tito toto toti tito loto" | echo [Tt][io]t[io]))\\ **affiche les fichiers**\\ Toto\\ ​Tito\\ toto\\ toti\\ ​...\\ **mais pas**\\ loto\\ ... | 
-|**''​[ - ]''​**\\ [a-z]\\ [A-Z]\\ [A-Z]\\ [0-9] |groupe de caractères |''​head t[a-z]to''​\\ **affiche**\\ titi\\ tito\\ toto\\ ...\\ **mais pas** tOto\\ t5to\\ |+|**''​[ - ]''​**\\ [a-z]\\ [A-Z]\\ [A-Z]\\ [0-9] |groupe de caractères |''​head t[a-z]to''​\\ **affiche**\\ titi\\ tito\\ toto\\ ...\\ **mais pas**\\ tOto\\ t5to\\ |
  
-  * l'​étoile : +===Métacaractère ou caractère ​d'expression rationnelle ?===
-<code user> +
-ls * +
-</​code>​ +
-<​code>​ +
-milou  test    titi   ​titi1 titi.txt ​ toto   ​Toto1.txt +
-tata   ​tintin ​ titi.  titi1.txt ​ tito    ​toto. ​ Toto.txt +
-</​code>​ +
-  * le point d'​interrogation +
-<code user> +
-ls titi? +
-</​code>​ +
-<​code>​ +
-titi.  titi1 +
-</​code>​ +
-  * crochets +
-<code user> +
-ls [Tt][io]t[io]?​ +
- +
-</​code>​ +
-<​code>​ +
-titi.  titi1  toto. +
-</​code>​ +
-  * groupe avec crochets +
-<code user> +
-ls t[a-z]t[a-z] +
-</​code>​ +
-<​code>​ +
-tata  titi  tito  toto +
-</​code>​ +
- +
-**Il en serait de même avec les commandes echo et rm par exemple.** +
- +
-====Métacaractères du shell et commandes utilisant les expressions rationnelles==== +
- +
-Les commandes de __recherche de fichier__, **grep, find et locate**, utilisent les //ER// mais aussi les métacaractères du shell, dont certains caractères sont homonymes à ceux des //ER//.\\  +
- +
-Si certains métacaractères sont identiques aux caractères des //ER// leur signification n'est pas la même.\\  +
-Afin d'éviter toute confusion, voyons comment et dans quel contexte ces commandes utilisent les métacaractères du shell. +
- +
-===grep et métacaractères pour globaliser les fichiers concernés  ​===+
  
   * L'​étoile :   * L'​étoile :
Ligne 145: Ligne 105:
  
 > mais c'est un caractère des expressions rationnelles. > mais c'est un caractère des expressions rationnelles.
->Ainsi la ligne signifie : rechercher un point littéral dans les fichiers commençant soit par "​T"​ soit par "​t",​ suivi de plusieurs caractères,​ et finissant par "​txt"​+>Ainsi la ligne signifie : rechercher un point littéral((le point étant un caractère des ER, il faut l'​antislash pour qu'il soit lu comme un point littéral)) ​dans les fichiers commençant soit par "​T"​ soit par "​t",​ suivi de plusieurs caractères,​ et finissant par "​txt"​
  
 <​code>​grep "​\."​ [Tt]*.txt</​code>​ <​code>​grep "​\."​ [Tt]*.txt</​code>​
Ligne 152: Ligne 112:
 Toto1.txt:. Toto1.txt:.
 </​code>​ </​code>​
 +
 +====Métacaractères du shell et commandes utilisant les expressions rationnelles====
 +
 +Parmi les commandes GNU/Linux utilisant les expressions rationnelles,​ d'​autres commandes que **grep** ou **grep -E** utilisent aussi les métacaractères.\\ ​
 +
 +Il s'agit de **find** et **locate**.
  
 === find=== === find===
Ligne 205: Ligne 171:
 </​note>​ </​note>​
  
-**Puisque tout est bien clair, nous pouvons aller plus loin, et présenter comment utiliser les programmes GNU/​Linux ​avec chacun des trois types d'expression ​rationnelles** 8-)+**Puisque tout est bien clair, nous pouvons aller plus loin, et présenter comment utiliser les programmes GNU/​Linux ​permettant ​d'utiliser les expressions ​rationnelles. Cela permettra aussi, non seulement de distinguer ERb, ERe et classes, mais encore de comprendre par leurs usages l'​intérêt de conserver ces différents types.**  8-)
  
 =====Les expressions rationnelles basiques et les commandes GNU/​Linux===== =====Les expressions rationnelles basiques et les commandes GNU/​Linux=====
Ligne 244: Ligne 210:
 </​code>​ </​code>​
  
-Voir ci-dessous pour l'​utilisation de grep (grep -G) avec [[utilisateurs:​hypathie:​tutos:​erb-et-ere-par-le-contexte-des-commandes?&#grep-ou-grep-g-et-les-caracteres-specifiques-aux-erb|les caractères spécifiques aux ERb]].+Pour l'​utilisation de grep (grep -G ou grep -E) avec soit les caractères spécifiques aux ERb, soit les caractères spécifiques aux ERe, voir [[utilisateurs:​hypathie:​tutos:​erb-et-ere-par-le-contexte-des-commandes#​grep-e-egrep-et-les-caracteres-specifiques-aux-ere|"grep -E (egrep) et les caractères spécifiques aux ERe"]].
 </​note>​ </​note>​
  
Ligne 394: Ligne 360:
 Je ne donnerai ici quelques exemples d'​utilisation des caractères communs aux ERb et ERe, en tant que caractères ERb, afin d'​illustrer l'​utilisation de find avec l'​option ''​-regextype "​posix-basic''​.\\ ​ Je ne donnerai ici quelques exemples d'​utilisation des caractères communs aux ERb et ERe, en tant que caractères ERb, afin d'​illustrer l'​utilisation de find avec l'​option ''​-regextype "​posix-basic''​.\\ ​
  
-Pour l'​utilisation des caractères spécifiques aux ERb avec find, voir : [[utilisateurs:​hypathie:​tutos:​erb-et-ere-par-le-contexte-des-commandes?&#​find-et-les-caracteres-specifiques-aux-erb|find et les caractères spécifiques aux ERb]]\\ +Pour l'​utilisation des caractères spécifiques aux ERb ou des caractères spécifiques aux ERe avec find, voir : [[utilisateurs:​hypathie:​tutos:​erb-et-ere-par-le-contexte-des-commandes#​find-et-les-caracteres-specifiques-aux-ere|"find et les caractères spécifiques aux ERe"]].\\ 
  
-Pour l'​illustration de find avec les ERe voir : 
 </​note>​ </​note>​
  
utilisateurs/hypathie/tutos/erb-et-ere-par-le-contexte-des-commandes.txt · Dernière modification: 01/10/2023 11:39 (modification externe)

Pied de page des forums

Propulsé par FluxBB