{"id":2445,"date":"2025-08-23T11:15:35","date_gmt":"2025-08-23T09:15:35","guid":{"rendered":"https:\/\/artheodoc.fr\/?page_id=2445"},"modified":"2025-12-21T15:56:06","modified_gmt":"2025-12-21T14:56:06","slug":"la-commande-grep-sous-linux","status":"publish","type":"page","link":"https:\/\/artheodoc.fr\/index.php\/la-commande-grep-sous-linux\/","title":{"rendered":"La commande grep sous Linux"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Tableau complet pour la commande grep sous Bash<\/h2>\n\n\n\n<p>Voici des exemples d\u2019utilisations de la commande grep sous Linux.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong>Utilisation de la commande grep<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Option<\/strong><\/th><th><strong>Description<\/strong><\/th><th><strong>Exemple d&rsquo;utlisiation<\/strong><\/th><\/tr><\/thead><tbody><tr><td>(sans option)<\/td><td>Recherche une cha\u00eene de caract\u00e8res dans un fichier.<\/td><td>grep \u00ab\u00a0motif\u00a0\u00bb fichier.txt<\/td><\/tr><tr><td><code>-i<\/code><\/td><td>Ignore la casse (majuscules\/minuscules).<\/td><td>grep -i \u00ab\u00a0erreur\u00a0\u00bb fichier.log<\/td><\/tr><tr><td><code>-v<\/code><\/td><td>Inverse la recherche&nbsp;: affiche les lignes qui ne contiennent pas le motif.<\/td><td>grep -v \u00ab\u00a0succ\u00e8s\u00a0\u00bb fichier.txt<\/td><\/tr><tr><td><code>-n<\/code><\/td><td>Affiche le num\u00e9ro de ligne pour chaque r\u00e9sultat.<\/td><td>grep -n \u00ab\u00a0warning\u00a0\u00bb fichier.log<\/td><\/tr><tr><td><code>-r<\/code> ou <code>-R<\/code><\/td><td>Recherche r\u00e9cursivement dans les sous-dossiers.<\/td><td>grep -r \u00ab\u00a0fonction\u00a0\u00bb \/dossier\/<\/td><\/tr><tr><td><code>-l<\/code><\/td><td>Affiche uniquement les noms des fichiers contenant le motif.<\/td><td>grep -l \u00ab\u00a0TODO\u00a0\u00bb *.py<\/td><\/tr><tr><td><code>-c<\/code><\/td><td>Compte le nombre de lignes correspondant au motif.<\/td><td>grep -c \u00ab\u00a0erreur\u00a0\u00bb fichier.log<\/td><\/tr><tr><td><code>-w<\/code><\/td><td>Recherche le motif comme un mot entier (\u00e9vite les correspondances partielles).<\/td><td>grep -w \u00ab\u00a0port\u00a0\u00bb fichier.txt<\/td><\/tr><tr><td><code>-A n<\/code><\/td><td>Affiche n lignes apr\u00e8s chaque r\u00e9sultat.<\/td><td>grep -A 3 \u00ab\u00a0erreur\u00a0\u00bb fichier.log<\/td><\/tr><tr><td><code>-B n<\/code><\/td><td>Affiche n lignes avant chaque r\u00e9sultat.<\/td><td>grep -B 2 \u00ab\u00a0erreur\u00a0\u00bb fichier.log<\/td><\/tr><tr><td><code>-C n<\/code><\/td><td>Affiche n lignes autour de chaque r\u00e9sultat.<\/td><td>grep -C 1 \u00ab\u00a0erreur\u00a0\u00bb fichier.log<\/td><\/tr><tr><td><code>-e<\/code><\/td><td>Sp\u00e9cifie un motif (utile pour plusieurs motifs ou motifs complexes).<\/td><td>grep -e \u00ab\u00a0erreur\u00a0\u00bb -e \u00ab\u00a0warning\u00a0\u00bb fichier.log<\/td><\/tr><tr><td><code>-f fichier<\/code><\/td><td>Lit les motifs depuis un fichier (un motif par ligne).<\/td><td>grep -f motifs.txt fichier.log<\/td><\/tr><tr><td><code>-E<\/code><\/td><td>Active les expressions r\u00e9guli\u00e8res \u00e9tendues (ERE).<\/td><td>grep -E \u00ab\u00a0motif1\u00a0\u00bb fichier.txt<\/td><\/tr><tr><td><code>--color<\/code><\/td><td>Met en couleur les correspondances (activ\u00e9 par d\u00e9faut sur la plupart des syst\u00e8mes).<\/td><td>grep &#8211;color \u00ab\u00a0motif\u00a0\u00bb fichier.txt<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Exemples pratiques<\/h2>\n\n\n\n<p>Voici des exemples d\u2019utilisations de la commande grep sous Linux.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Recherche simple dans un fichier<\/h3>\n\n\n\n<p>Rechercher le mot \u00ab\u00a0erreur\u00a0\u00bb dans un fichier nomm\u00e9 fichier.log&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep \"erreur\" fichier.log<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Recherche insensible \u00e0 la casse<\/h3>\n\n\n\n<p>Rechercher le mot \u00ab\u00a0erreur\u00a0\u00bb (en majuscules ou minuscules)&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep -i \"erreur\" fichier.log<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Recherche r\u00e9cursive dans un dossier<\/h3>\n\n\n\n<p>Rechercher le mot \u00ab\u00a0erreur\u00a0\u00bb dans tous les fichiers du dossier courant et de ses sous-dossiers&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep -r \"erreur\" .<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Afficher les num\u00e9ros de ligne<\/h3>\n\n\n\n<p>Afficher les lignes contenant \u00ab\u00a0erreur\u00a0\u00bb avec leur num\u00e9ro de ligne&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep -n \"erreur\" fichier.log<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Recherche invers\u00e9e<\/h3>\n\n\n\n<p>Afficher les lignes qui ne contiennent pas le mot \u00ab\u00a0erreur\u00a0\u00bb&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep -v \"erreur\" fichier.log<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Utilisation d\u2019expressions r\u00e9guli\u00e8res<\/h3>\n\n\n\n<p>Rechercher des lignes commen\u00e7ant par \u00ab\u00a0Erreur\u00a0\u00bb (avec une majuscule)&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep \"^Erreur\" fichier.log<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Compter le nombre de correspondances<\/h3>\n\n\n\n<p>Compter le nombre de lignes contenant le mot \u00ab\u00a0erreur\u00a0\u00bb&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep -c \"erreur\" fichier.log<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Rechercher dans plusieurs fichiers<\/h3>\n\n\n\n<p>Rechercher le mot \u00ab\u00a0erreur\u00a0\u00bb dans plusieurs fichiers&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep \"erreur\" *.log<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Afficher les noms de fichiers contenant le motif<\/h3>\n\n\n\n<p>Afficher uniquement les noms des fichiers contenant le mot \u00ab\u00a0erreur\u00a0\u00bb&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep -l \"erreur\" *.log<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Utilisation avec des tubes (pipes)<\/h3>\n\n\n\n<p>Rechercher \u00ab\u00a0erreur\u00a0\u00bb dans la sortie de la commande dmesg&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">dmesg | grep \"erreur\"<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Recherche de mots entiers<\/h3>\n\n\n\n<p>Rechercher uniquement le mot entier \u00ab\u00a0erreur\u00a0\u00bb (et non des parties de mots)<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep -w \"erreur\" fichier.log<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Afficher les lignes avant\/apr\u00e8s la correspondance<\/h3>\n\n\n\n<p>Afficher 3 lignes avant et apr\u00e8s chaque correspondance&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep -A 3 -B 3 \"erreur\" fichier.log<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Utilisation de motifs complexes<\/h3>\n\n\n\n<p>Rechercher des lignes contenant soit \u00ab\u00a0erreur\u00a0\u00bb soit \u00ab\u00a0avertissement\u00a0\u00bb&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep -E \"erreur|avertissement\" fichier.log<\/pre>\n\n\n\n<p>Ce motif est une expression r\u00e9guli\u00e8re qui d\u00e9crit une adresse IP version 4 (IPv4) :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep -E \"[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\" fichier.txt<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Rechercher dans des fichiers compress\u00e9s<\/h3>\n\n\n\n<p>Rechercher dans des fichiers compress\u00e9s (avec zgrep)&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">zgrep \"erreur\" fichier.log.gz<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Combiner avec d\u2019autres commandes<\/h2>\n\n\n\n<p>Compter le nombre total de lignes contenant \u00ab\u00a0erreur\u00a0\u00bb dans tous les fichiers .log&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep -c \"erreur\" *.log | awk '{sum += $1} END {print sum}'<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">dmesg | grep -i \"usb\"<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">grep \"erreur\" fichier.log | less<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<p>Sources&nbsp;: Le Chat Mistral<\/p>\n\n\n\n<p><a href=\"https:\/\/chat.mistral.ai\/chat\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/chat.mistral.ai\/chat<\/a><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tableau complet pour la commande grep sous Bash Voici des exemples d\u2019utilisations de la commande grep sous Linux. Utilisation de la commande grep Option Description Exemple d&rsquo;utlisiation (sans option) Recherche une cha\u00eene de caract\u00e8res dans un fichier. grep \u00ab\u00a0motif\u00a0\u00bb fichier.txt -i Ignore la casse (majuscules\/minuscules). grep -i \u00ab\u00a0erreur\u00a0\u00bb fichier.log -v Inverse la recherche&nbsp;: affiche les [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-2445","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/artheodoc.fr\/index.php\/wp-json\/wp\/v2\/pages\/2445","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/artheodoc.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/artheodoc.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/artheodoc.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/artheodoc.fr\/index.php\/wp-json\/wp\/v2\/comments?post=2445"}],"version-history":[{"count":3,"href":"https:\/\/artheodoc.fr\/index.php\/wp-json\/wp\/v2\/pages\/2445\/revisions"}],"predecessor-version":[{"id":2735,"href":"https:\/\/artheodoc.fr\/index.php\/wp-json\/wp\/v2\/pages\/2445\/revisions\/2735"}],"wp:attachment":[{"href":"https:\/\/artheodoc.fr\/index.php\/wp-json\/wp\/v2\/media?parent=2445"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}