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