0 Votes

Code source wiki de Grep

Modifié par john le 2026/04/16 13:58

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