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:02] smolski [REGEXP - Utilisation pour sed find grep locate] |
doc:programmation:shell:regexp [15/09/2013 09:17] MicP [REGEXP - Utilisation pour sed find grep locate] |
||
---|---|---|---|
Ligne 10: | Ligne 10: | ||
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=1038 | Lien vers le forum concernant ce tuto]] | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=1038 | Lien vers le forum concernant ce tuto]] | ||
- | N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs ! | + | >N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs ! |
===== Utilisation ===== | ===== Utilisation ===== | ||
Ligne 29: | Ligne 29: | ||
La nuance est que l'expression va concerner l'expansion et non la modification dans les chaines de caractère. | La nuance est que l'expression va concerner l'expansion et non la modification dans les chaines de caractère. | ||
- | Vous connaissez sûrement __au moins deux__ des principales expressions Glob mises ici : | + | Vous connaissez sûrement __au moins deux__ des principales expressions Glob mises ici : ''? * \ []'' |
- | ? * \ [] | + | |
//Merci à //**Haricophile**// pour cette présentation.// :-) | //Merci à //**Haricophile**// pour cette présentation.// :-) | ||
Ligne 53: | Ligne 52: | ||
Tout d'abord, un exemple pour appréhender les notions utilisées dans cette page. \\ | Tout d'abord, un exemple pour appréhender les notions utilisées dans cette page. \\ | ||
Imaginons que, dans un répertoire, nous désirons sélectionner toutes les //chaînes de caractères//((**CHAÎNE DE CARACTÈRES** : \\ | Imaginons que, dans un répertoire, nous désirons sélectionner toutes les //chaînes de caractères//((**CHAÎNE DE CARACTÈRES** : \\ | ||
- | Les //chaîne de caractères// sont des caractères accolés, un mot, une phrase ou un nom de fichier. \\)) dont la rédaction contient **3 a** contigues (**aaa**). \\ | + | Les //chaîne de caractères// sont des caractères accolés, un mot, une phrase ou un nom de fichier.)) dont la rédaction contient **3 a** contigues (**aaa**). \\ |
- | Cette chaîne recherchée, formée des 3 **a** contigues (**aaa**), encadrée ou non d'autres lettres //quelconques//, se nomme __dans son ensemble__ : | + | Cette chaîne recherchée, formée des 3 **a** contigues (**aaa**), encadrée ou non d'autres lettres //quelconques//, se nomme __dans son ensemble__ : ''un motif''. |
- | un motif | + | |
Pour décrire précisément ces **motifs** à un programme, on utilise des //expressions régulières// ou //regular expression// (ou encore un **regexp** en abrégé courant). | Pour décrire précisément ces **motifs** à un programme, on utilise des //expressions régulières// ou //regular expression// (ou encore un **regexp** en abrégé courant). | ||
Ligne 73: | Ligne 71: | ||
==== Illustration ==== | ==== Illustration ==== | ||
- | == Dans l'utilisation de find - locate - grep - sed == | + | == Pour find - locate - grep - sed == |
- | pl[oi]p | + | Avec : ''pl[oi]p'' les caractères //crochets// ''[ ]'' définissent les **regexp** concernant les chaînes de caractères ''plop plip''. |
- | Ces caractères //crochets// ''[ ]'' définissent les **regexp** concernant les chaînes de caractères ''plop plip''. | + | == Pour bash : == |
- | == Et pour bash : == | + | 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 ces caractères //accolades// ''{}'' pour définir les **glob** concernant les mêmes chaînes de caractères ''plop plip''. | + | |
==== Conclusion ==== | ==== Conclusion ==== | ||
Ligne 100: | Ligne 96: | ||
- [[manuel:vim]] - L'éditeur fétiche des amoureux du terminal ! | - [[manuel: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 === |