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 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:17] Hypathie [Introduction] |
||
---|---|---|---|
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 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===== |