0 Votes

Modifications pour le document Grep

Modifié par john le 2025/05/25 11:16

Depuis la version 1.4
modifié par john
sur 2025/05/24 23:13
Commentaire de modification : Update document after refactoring.
À la version 1.2
modifié par john
sur 2025/05/24 23:09
Commentaire de modification : Update document after refactoring.

Résumé

Détails

Propriétés de la Page
Parent
... ... @@ -1,1 +1,1 @@
1 -Wiki Batcave John.TutosLinux.WebHome
1 +TutosLinux.WebHome
Contenu
... ... @@ -3,47 +3,46 @@
3 3  {{toc/}}
4 4  
5 5  == Présentation ==
6 -
7 7  La commande `grep` (Global Regular Expression Print) permet de **rechercher des chaînes de caractères dans des fichiers** ou en sortie de commande.
8 8  
9 9  C’est l’outil idéal pour filtrer, explorer, et déboguer du texte dans le terminal.
10 10  
11 ------
10 +---
12 12  
13 13  == Syntaxe de base ==
14 -
15 15  {{code language="bash"}}
16 16  grep "motif" fichier.txt
17 17  {{/code}}
18 18  
19 ------
17 +---
20 20  
21 21  == Exemples simples ==
22 -
23 23  Rechercher une ligne contenant `ssh` :
24 -{{code language="bash"}}grep ssh /var/log/auth.log{{/code}}
21 +{{code language="bash"}}
22 +grep ssh /var/log/auth.log
23 +{{/code}}
25 25  
26 26  Afficher les lignes contenant "root" dans un fichier :
27 -{{code language="bash"}}grep root /etc/passwd{{/code}}
26 +{{code language="bash"}}
27 +grep root /etc/passwd
28 +{{/code}}
28 28  
29 ------
30 +---
30 30  
31 31  == Options courantes ==
32 -
33 -|= Option |= Description |\\
34 -| `-i` | Ignore la casse (maj/min) |\\
35 -| `-n` | Affiche le **numéro de ligne** |\\
36 -| `-r` ou `-R` | Recherche **récursive** dans les dossiers |\\
37 -| `-l` | Affiche seulement les **noms de fichiers** contenant le motif |\\
38 -| `-v` | Affiche tout **sauf** les lignes contenant le motif |\\
39 -| `--color=auto` --| Colore les correspondances dans la sortie |\\
40 -| `-e` | Permet de spécifier plusieurs motifs |\\
33 +|= Option |= Description |
34 +| `-i` | Ignore la casse (maj/min) |
35 +| `-n` | Affiche le **numéro de ligne** |
36 +| `-r` ou `-R` | Recherche **récursive** dans les dossiers |
37 +| `-l` | Affiche seulement les **noms de fichiers** contenant le motif |
38 +| `-v` | Affiche tout **sauf** les lignes contenant le motif |
39 +| `--color=auto` | Colore les correspondances dans la sortie |
40 +| `-e` | Permet de spécifier plusieurs motifs |
41 41  | `-E` | Active les **expressions régulières étendues** (`egrep`) |
42 42  
43 ------
43 +---
44 44  
45 45  == Recherche récursive ==
46 -
47 47  {{code language="bash"}}
48 48  grep -rn "motif" /etc
49 49  {{/code}}
... ... @@ -50,18 +50,16 @@
50 50  
51 51  Cela affiche les fichiers, numéros de lignes, et lignes contenant le motif dans tout `/etc`.
52 52  
53 ------
52 +---
54 54  
55 55  == Recherche insensible à la casse ==
56 -
57 57  {{code language="bash"}}
58 58  grep -i "linux" fichier.txt
59 59  {{/code}}
60 60  
61 ------
59 +---
62 62  
63 63  == Exclusion de motif ==
64 -
65 65  {{code language="bash"}}
66 66  grep -v "erreur" journal.log
67 67  {{/code}}
... ... @@ -68,10 +68,9 @@
68 68  
69 69  Affiche toutes les lignes **ne contenant pas** le mot "erreur".
70 70  
71 ------
68 +---
72 72  
73 73  == Grep avec pipes ==
74 -
75 75  {{code language="bash"}}
76 76  ps aux | grep nginx
77 77  {{/code}}
... ... @@ -78,10 +78,9 @@
78 78  
79 79  Permet de filtrer une sortie de commande.
80 80  
81 ------
77 +---
82 82  
83 83  == grep + regex ==
84 -
85 85  {{code language="bash"}}
86 86  grep "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+" fichier.txt
87 87  {{/code}}
... ... @@ -88,15 +88,16 @@
88 88  
89 89  Extrait les lignes contenant des adresses email (simplifié).
90 90  
91 ------
86 +---
92 92  
93 93  == Astuce grep + find ==
94 -
95 95  Pour rechercher un motif dans tous les fichiers `.log` :
96 -{{code language="bash"}}find . -name "*.log" -exec grep -H "erreur" {} \;{{/code}}
90 +{{code language="bash"}}
91 +find . -name "*.log" -exec grep -H "erreur" {} \;
92 +{{/code}}
97 97  
98 ------
94 +---
99 99  
100 100  == Liens internes ==
97 +* [[Retour à la section Tutos Linux>>Wiki Batcave John.TutosLinux]]
101 101  
102 -* [[Retour à la section Tutos Linux>>TutosLinux.WebHome]]