Menu
Coddy logo textTech

Grep avec options

Fait partie de la section Les fondamentaux du Journey Terminal de Coddy — leçon 35 sur 82.

grep devient encore plus puissant lorsque vous ajoutez des options pour contrôler la façon dont il recherche et ce qu'il affiche.

Les options grep les plus utiles :

-i — recherche insensible à la casse. Correspond indépendamment des majuscules ou minuscules :

grep -i "error" server.log   # matches error, Error, ERROR

-n — afficher les numéros de ligne à côté de chaque ligne correspondante :

grep -n "error" server.log
3:error: disk full
6:error: connection timeout

-c — affiche uniquement le nombre de lignes correspondantes, et non les lignes elles-mêmes :

grep -c "error" server.log
2

-vinverser la recherche — afficher les lignes qui ne correspondent pas au motif :

grep -v "info" server.log
error: disk full
warning: high memory usage
error: connection timeout

-r — rechercher récursivement dans tous les fichiers d’un répertoire :

grep -r "error" logs/   # search all files inside the logs folder

-l — n'afficher que les noms de fichiers qui contiennent une correspondance, et non les lignes correspondantes :

grep -l "error" *.log

Combinaison de drapeaux :

Vous pouvez combiner plusieurs options ensemble :

grep -in "error" server.log   # case insensitive + show line numbers
grep -vc "info" server.log    # invert + count non-info lines
challenge icon

Défi

Facile

Utilisez grep avec des drapeaux pour inspecter server.log de trois manières différentes :

  1. Trouvez toutes les lignes contenant error et affichez leurs numéros de ligne en utilisant -n
  2. Comptez combien de lignes contiennent info en utilisant -c
  3. Affichez toutes les lignes qui ne contiennent pas info en utilisant -v

Indice : Exécutez les trois commandes l'une après l'autre. Chaque drapeau change la façon dont grep présente ses résultats.

Aide-mémoire

Utilisez des options pour contrôler comment grep recherche et affiche les résultats.

-i — recherche insensible à la casse :

grep -i "error" server.log   # correspond à error, Error, ERROR

-n — afficher les numéros de ligne :

grep -n "error" server.log

-c — afficher le nombre de lignes correspondantes :

grep -c "error" server.log

-v — inverser la recherche (afficher les lignes non correspondantes) :

grep -v "info" server.log

-r — rechercher récursivement dans les répertoires :

grep -r "error" logs/

-l — n'afficher que les noms de fichiers contenant des correspondances :

grep -l "error" *.log

Les options peuvent être combinées :

grep -in "error" server.log   # insensible à la casse + numéros de ligne
grep -vc "info" server.log    # inverse + nombre

Essayez vous-même

Terminal
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Les fondamentaux