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 | ||
doc:programmation:shell:regexp [26/08/2013 17:30] smolski [Utilisation] |
doc:programmation:shell:regexp [21/09/2013 19:07] 127.0.0.1 modification externe |
||
---|---|---|---|
Ligne 38: | Ligne 38: | ||
Ces règles ne sont pas transmises au programme tel quel mais sont remplacées par le shell utilisé. | Ces règles ne sont pas transmises au programme tel quel mais sont remplacées par le shell utilisé. | ||
- | Pour la commodité de ce tuto, sauf indication contraire, nous utiliserons ici le shell [[manuel:bash]]. | + | Pour la commodité de ce tuto, sauf indication contraire, nous utiliserons ici le shell [[:doc:programmation:bash]]. |
- | Par exemple pour cette commande [[commande:ls]] dont l'option **-d** permet à **ls** de lister uniquement les répertoires, sans leur contenu : | + | Par exemple pour cette commande [[:doc:systeme:ls]] dont l'option **-d** permet à **ls** de lister uniquement les répertoires, sans leur contenu : |
<code bash> | <code bash> | ||
ls -d *</code> | ls -d *</code> | ||
Ligne 61: | Ligne 61: | ||
Pour ces **regexp**, __Différents programmes__ //utilisent// __différentes syntaxes__, de ce fait leur __symbolique peut être différente__ il faut donc bien distinguer le contexte où interviennent les **regexp**. | Pour ces **regexp**, __Différents programmes__ //utilisent// __différentes syntaxes__, de ce fait leur __symbolique peut être différente__ il faut donc bien distinguer le contexte où interviennent les **regexp**. | ||
- | Par exemple, un **regexp** destiné à l'utilisation d'une commande [[commande:sed]], [[manuel:find]], [[commande:locate]] ou [[commande:grep]], devra être écrit différemment dans le contexte de __l'utilisation d'une commande **bash**__ (voir : [[commande:les_metacaracteres | Bash - Les metacaractères (Pattern - Glob)]]). | + | Par exemple, un **regexp** destiné à l'utilisation d'une commande [[:doc:systeme:sed]], [[:doc:systeme:find]], [[:doc:systeme:locate]] ou [[:doc:systeme:grep]], devra être écrit différemment dans le contexte de __l'utilisation d'une commande **bash**__ (voir : [[commande:les_metacaracteres | Bash - Les metacaractères (Pattern - Glob)]]). |
//Idem pour des contextes différents...// | //Idem pour des contextes différents...// | ||
Ligne 73: | Ligne 73: | ||
== Pour find - locate - grep - sed == | == Pour find - locate - grep - sed == | ||
- | Ecrire : | + | Avec : ''pl[oi]p'' les caractères //crochets// ''[ ]'' définissent les **regexp** concernant les chaînes de caractères ''plop plip''. |
- | pl[oi]p | + | |
- | + | ||
- | Ces caractères //crochets// ''[ ]'' définissent les **regexp** concernant les chaînes de caractères ''plop plip''. | + | |
== Pour bash : == | == Pour bash : == | ||
- | Pour avoir la même expression, il faut écrire : | + | Pour avoir la même expression pour bash, il faut écrire : ''pl{o,i}p'' |
- | pl{o,i}p | + | |
- | Nous voyons que dans le contexte **bash**, il faudra plutôt utiliser les caractères //accolades// ''{}'' pour définir les **glob** concernant les mêmes chaînes de caractères ''plop plip''. | + | Nous voyons que dans le contexte **bash**, il faudra plutôt utiliser les caractères //accolades// ''{ }'' pour définir les **glob** concernant les mêmes chaînes de caractères ''plop plip''. |
==== Conclusion ==== | ==== Conclusion ==== | ||
Ligne 98: | Ligne 94: | ||
- [[manuel:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | - [[manuel:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
- | - [[manuel:vim]] - L'éditeur fétiche des amoureux du terminal ! | + | - [[:doc:editeurs:vim]] - L'éditeur fétiche des amoureux du terminal ! |
- | Pour réaliser les TP mis en exemple dans ce tuto, il vous faut préparer ces répertoire et fichier, permettant d'accomplir les TP qui vont suivre. \\ | + | Pour réaliser les TP mis en exemple dans ce tuto, il vous faut préparer ces répertoires et fichiers, permettant d'accomplir les TP qui vont suivre. \\ |
Créer le repertoire ''tuto_regexp'' dans votre ''/home/user'' : | Créer le repertoire ''tuto_regexp'' dans votre ''/home/user'' : | ||
<code bash> | <code bash> | ||
Ligne 106: | Ligne 102: | ||
Compléter ce répertoire avec les TP qui suivent. \\ | Compléter ce répertoire avec les TP qui suivent. \\ | ||
- | Nous seront ainsi fin prêt pour réaliser les TP mis en exemple dans ce tuto ! ;-) | + | Nous seront ainsi fin prêts pour réaliser les TP mis en exemple dans ce tuto ! ;-) |
=== TP-01 === | === TP-01 === |