accueil > Traitement et recherche de texte > grep

Maîtriser la commande grep

Ce guide concerne la commande `grep` sous Linux, utilisée pour rechercher des motifs spécifiques dans des fichiers texte ou l'entrée standard. Cet outil vous permet de trouver et de filtrer efficacement le texte souhaité.

Options principales

Combinez les différentes options de la commande `grep` pour rechercher le texte souhaité.

1. Recherche de base

2. Options de recherche

3. Options d'affichage

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

La commande `grep` prend en charge les expressions régulières pour une recherche de texte puissante. L'utilisation d'expressions régulières permet de trouver facilement des motifs complexes.

Méta-caractères d'expressions régulières fréquemment utilisés Caractères ayant une signification spéciale dans les expressions régulières.
Caractère Description Exemple
. Tout caractère unique (sauf la nouvelle ligne) `a.b` (acb, amb, etc.)
* Le caractère précédent répété 0 fois ou plus `ab*c` (ac, abc, abbc, etc.)
+ Le caractère précédent répété 1 fois ou plus `ab+c` (abc, abbc, etc.)
? Le caractère précédent apparaît 0 ou 1 fois `ab?c` (ac, abc)
^ Début de ligne `^start` (lignes commençant par 'start')
$ Fin de ligne `end$` (lignes se terminant par 'end')
[abc] Un des caractères entre parenthèses `[aeiou]` (voyelles)
[a-z] Un des caractères de la plage `[0-9]` (chiffre)
[^abc] Un caractère qui n'est pas entre parenthèses `[^0-9]` (caractère non numérique)
\b Limite de mot `\bword\b` (le mot exact 'word')
| Opérateur OU (un des deux motifs) `cat|dog` ('cat' ou 'dog')

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

`grep` utilise par défaut les BRE. Pour utiliser des caractères comme `+`, `?`, `|`, `(`, `)` avec une signification spéciale, vous devez les faire précéder d'une barre oblique inversée (`\`). L'option `-E` active le mode ERE, permettant d'utiliser ces caractères sans barre oblique inversée. L'option `-P` offre des PCRE encore plus puissantes.

Exemples d'utilisation

Entraînez-vous à rechercher du texte avec `grep` à l'aide de ces exemples pratiques.

Rechercher 'error' dans un fichier journal

grep 'error' /var/log/syslog

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

Rechercher 'failed' sans distinction de casse et afficher les numéros de ligne

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

Recherche 'failed' sans tenir compte de la casse et affiche le résultat avec les numéros de ligne.

Afficher uniquement les lignes qui ne contiennent pas un motif spécifique

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

Affiche les lignes du fichier `nginx.conf` en excluant celles qui commencent 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 motif 'server_name' dans les fichiers avec l'extension '.conf' dans le répertoire actuel et tous ses sous-répertoires.

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

ps aux | grep apache2

Filtre la sortie de la commande `ps aux` pour afficher uniquement 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 (|) des expressions régulières pour rechercher les messages 'warning' ou 'critical' dans plusieurs fichiers journaux.



Commandes de la même catégorie