accueil > Traitement et recherche de texte > grep

Maîtriser la commande grep

Ceci est un guide pour la commande `grep`, utilisée sous Linux pour rechercher un modèle spécifique dans des fichiers texte ou l'entrée standard. Cet outil vous permet de trouver et de filtrer efficacement le texte que vous souhaitez.

Options principales

Essayez de combiner les différentes options de la commande `grep` pour rechercher le texte que vous souhaitez.

1. Recherche de base

2. Options de recherche

3. Options de sortie

4. Recherche récursive

Commande générée :

Essayez de combiner les commandes.

Description:

`grep` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Bases des expressions régulières

`grep` prend en charge les expressions régulières (Regular Expressions) pour une recherche de texte puissante. L'utilisation d'expressions régulières vous permet de trouver facilement même des modèles complexes.

Méta-caractères d'expression régulière couramment utilisés Caractères qui ont une signification particulière dans les expressions régulières.
Caractère Description Exemple
. N'importe quel caractère unique (sauf le saut de ligne) `a.b` (acb, amb, etc.)
* Zéro ou plusieurs répétitions du caractère précédent `ab*c` (ac, abc, abbc, etc.)
+ Une ou plusieurs répétitions du caractère précédent `ab+c` (abc, abbc, etc.)
? Zéro ou une occurrence du caractère précédent `ab?c` (ac, abc)
^ Début d'une ligne `^start` (lignes commençant par 'start')
$ Fin d'une ligne `end$` (lignes se terminant par 'end')
[abc] L'un des caractères entre crochets `[aeiou]` (voyelles)
[a-z] L'un des caractères de la plage `[0-9]` (chiffres)
[^abc] Tout caractère qui n'est pas entre crochets `[^0-9]` (caractères non numériques)
\b Frontière de mot `\bword\b` (le mot exact 'word')
| Opérateur OU (l'un des deux modèles) `cat|dog` ('cat' ou 'dog')

Expressions régulières de base (BRE) vs. Expressions régulières étendues (ERE)

`grep` utilise BRE par défaut. Pour utiliser des caractères comme `+`, `?`, `|`, `(`, et `)` avec leur signification spéciale, vous devez les échapper avec une barre oblique inverse (`\`). L'option `-E` active le mode ERE, permettant d'utiliser ces caractères sans barre oblique inverse. L'option `-P` fournit le PCRE plus puissant.

Exemples d'utilisation

Entraînez-vous à la recherche de texte à travers des exemples pratiques de la commande `grep`.

Rechercher 'error' dans un fichier journal

grep 'error' /var/log/syslog

Affiche toutes les lignes contenant la chaîne de caractères 'error' dans le fichier `syslog`.

Rechercher 'failed' (insensible à la casse) et afficher les numéros de ligne

grep -in 'failed' /var/log/auth.log

Recherche 'failed' quelle que soit la casse et affiche le résultat avec les numéros de ligne.

Afficher uniquement les lignes sans un modèle spécifique

grep -v '^#' /etc/nginx/nginx.conf

Affiche les lignes du fichier `nginx.conf` qui ne commencent pas par un commentaire (#).

Rechercher 'server_name' dans les fichiers '.conf' y compris les sous-répertoires

grep -r 'server_name' *.conf

Recherche récursivement le modèle 'server_name' dans les fichiers avec l'extension '.conf' dans le répertoire courant et tous les sous-répertoires.

Trouver un processus spécifique (combinaison avec ps et un pipe)

ps aux | grep apache2

Filtre la sortie de la commande `ps aux` pour n'afficher que les processus liés à 'apache2'.

Rechercher 'warning' ou 'critical' dans plusieurs fichiers

grep -E 'warning|critical' /var/log/syslog /var/log/kern.log

Utilise l'opérateur OU (|) d'expression régulière pour rechercher les messages 'warning' ou 'critical' dans plusieurs fichiers journaux.


Commandes de la même catégorie