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.
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.