Provided by: manpages-fr_4.19.0-7_all bug

NOM

       grep, egrep, fgrep, rgrep - Afficher les lignes correspondant à un motif donné

SYNOPSIS

       grep [OPTION...] MOTIF [FICHIER...]
       grep [OPTION...] -e MOTIF ... [FICHIER...]
       grep [OPTION...] -f MOTIF_FICHIER ... [FICHIER...]

DESCRIPTION

       grep cherche un MOTIF dans chaque FICHIER. MOTIF est un ou plusieurs motifs séparés par un
       retour à la ligne et grep affiche chaque ligne correspondant  à  un  motif.  Généralement,
       MOTIF  devrait  être  entre  guillemets  lorsque  grep est utilisé dans un interpréteur de
       commandes.

       Un fichier « - » signifie l'entrée standard. Si aucun FICHIER n'est donné, les  recherches
       récursives  explorent  le  répertoire  de travail et celles non récursives lisent l'entrée
       standard.

       Debian  fournit  aussi  les  variantes  egrep,  fgrep  et  rgrep.  Ces   programmes   sont
       respectivement  équivalentss aux commandes grep -E, grep -F et grep -r. Ces variantes sont
       obsolètes en amont mais Debian les fournit pour assurer la rétro-compatibilité.  Pour  des
       raisons de portabilité, il est recommandé d'éviter ces variantes et d'utiliser plutôt grep
       avec les options liées.

OPTIONS

   Informations générales sur le programme
       --help Afficher un message d'utilisation et quitter.

       -V, --version
              Afficher le numéro de version de grep et quitter.

   Syntaxe du motif
       -E, --extended-regexp
              Interpréter  le  MOTIF  comme  une  expression  rationnelle  étendue   (ERE,   voir
              ci-dessous).

       -F, --fixed-strings
              Interpréter le MOTIF comme étant une chaîne figée, pas une expression rationnelle.

       -G, --basic-regexp
              Interpréter   le   MOTIF   comme  une  expression  rationnelle  simple  (BRE,  voir
              ci-dessous). C'est le comportement par défaut.

       -P, --perl-regexp
              Interpréter le MOTIF comme une expression rationnelle Perl (PCRE). Cette option est
              expérimentale  quand  on la combine à -z (--null-data) et grep -P pourrait signaler
              des fonctionnalités non implémentées.

   Contrôle de correspondance
       -e MOTIF, --regexp=MOTIF
              Utiliser MOTIF comme motif. Si cette option  est  utilisée  plusieurs  fois  ou  en
              combinaison avec l'option -f (-\^-file), rechercher les motifs donnés. Cette option
              peut être utilisée pour protéger un motif commençant par « - ».

       -f FICHIER, --file=FICHIER
              Utiliser les motifs depuis FICHIER, un par ligne.  Si  cette  option  est  utilisée
              plusieurs  fois ou combinée avec l'option -e (--regexp), rechercher tous les motifs
              donnés. Un fichier vide ne contient pas de motif et ne donne donc aucun résultat.

       -i, --ignore-case
              Ignorer les distinctions de casse dans les motifs et les données d'entrée, pour que
              les correspondances incluent les caractères qui ne diffèrent que par leur casse.

       --no-ignore-case
              Ne  pas  ignorer les distinctions de casse dans les motifs et les données d'entrée,
              c'est le comportement par défaut. Cette option sert à dire aux  scripts  shell  qui
              utilisent  déjà  -i  d'annuler  ses  effets puisque les deux options s'outrepassent
              entre elles.

       -v, --invert-match
              Inverser la mise en correspondance, pour sélectionner les lignes  ne  correspondant
              pas au motif.

       -w, --word-regexp
              Ne  sélectionner  que  les  lignes  contenant  des correspondances formant des mots
              complets. La sous-chaîne correspondante doit donc soit se trouver au  début  de  la
              ligne,  soit  être  précédée  d'un caractère ne pouvant entrer dans la constitution
              d'un mot. De même, elle doit soit se trouver à la fin de la ligne, soit être suivie
              par  un  caractère  ne pouvant entrer dans la constitution d'un mot. Les caractères
              composant les mots sont les lettres, les  chiffres  et  le  souligné  « _ ».  Cette
              option est sans effet si -x est également spécifié.

       -x, --line-regexp
              Ne  sélectionner  que  les  correspondances exactes de ligne entière. Pour un motif
              d'expression rationnelle, c'est comme si on met le motif entre parenthèses et qu'on
              l'ancre entre ^ et $.

   Contrôle général de l'affichage
       -c, --count
              Ne  pas afficher les résultats normaux. À la place, afficher un décompte des lignes
              correspondant au motif pour chaque fichier. Avec l'option -v, --invert-match  (voir
              ci-dessous), afficher le nombre de lignes ne contenant pas le motif.

       --color[=QUAND], --colour[=QUAND]
              Encadrer les chaînes (non vides) des correspondances, les lignes qui correspondent,
              les lignes de contexte, les noms de fichiers, les numéros de lignes, les  positions
              relatives  en  octets  et  les séparateurs (pour les champs et groupes de lignes de
              contexte) avec des séquences d'échappement pour les  afficher  en  couleur  sur  le
              terminal.  Les  couleurs sont définies par la variable d'environnement GREP_COLORS.
              QUAND vaut never (jamais), always (toujours) ou auto.

       -L, --files-without-match
              Ne pas afficher les résultats normaux. À la place, indiquer  le  nom  des  fichiers
              pour lesquels aucun résultat n'aurait été affiché.

       -l, --files-with-matches
              Ne  pas  afficher  les  résultats normaux. À la place, indiquer le nom des fichiers
              pour lesquels un résultat aurait été affiché.  La  recherche  dans  chaque  fichier
              cesse dès la première correspondance.

       -m N, --max-count=N
              Arrêter  de  lire  un  fichier  après avoir trouvé N lignes sélectionnées. Si N est
              zéro, grep s'arrête immédiatement sans lire  l'entrée.  Une  entrée  N  de  -1  est
              traitée  comme  l'infini  et  grep ne s'arrête pas ; c'est la valeur par défaut. Si
              l'entrée est l'entrée standard prise depuis un fichier normal, et si N  lignes  qui
              correspondent  sont  affichées,  grep  s'assure  avant  de  s'arrêter  que l'entrée
              standard est positionnée juste après la dernière ligne qui concorde, même s'il y  a
              des  lignes  de  contexte  supplémentaires.  Cela  permet  au  processus d'appel de
              redémarrer une recherche. Quand grep s'arrête après N  lignes  de  concordance,  il
              affiche  toutes  les lignes de contexte suivantes. Quand l'option -c ou --count est
              utilisée, grep n'affiche pas plus de N lignes. Quand l'option -v ou  --invert-match
              est  aussi  utilisée, grep s'arrête après avoir affiché N lignes qui ne contiennent
              pas le motif.

       -o, --only-matching
              N'afficher que les parties (non vides) correspondantes  des  lignes  sélectionnées,
              chaque partie étant affichée sur une ligne séparée.

       -q, --quiet, --silent
              Silencieux ;  ne  rien écrire sur la sortie standard. Quitter immédiatement avec un
              code zéro si une correspondance a été trouvée même si une erreur  a  été  détectée.
              Voir aussi l'option -s ou --no-messages.

       -s, --no-messages
              Supprimer  les  messages  d'erreur  sur  la  non  existence  ou  l'illisibilité des
              fichiers.

   Contrôle du préfixe à l'affichage
       -b, --byte-offset
              Afficher l'emplacement dans le fichier (qui commence  à  l'octet 0)  devant  chaque
              ligne  de  sortie. Si -o (--only-matching) est spécifiée, afficher l'emplacement de
              la partie qui correspond.

       -H, --with-filename
              Afficher le nom du fichier pour chaque correspondance. C'est  le  comportement  par
              défaut quand la recherche est effectuée sur plusieurs fichiers. C’est une extension
              GNU.

       -h, --no-filename
              Ne pas afficher le nom des fichiers au début des lignes qui correspondent. C'est le
              comportement  par  défaut  quand  il n'y a qu'un fichier (ou que l'entrée standard)
              dans lequel effectuer la recherche.

       --label=ÉTIQUETTE
              Afficher les données provenant de l'entrée standard comme si elles  provenaient  du
              fichier  ÉTIQUETTE.  C'est  particulièrement utile pour des outils qui modifient le
              contenu       d'un       fichier       avant       la       recherche,        comme
              gzip -cd truc.gz |grep --label=truc quelquechose. Consultez également l'option -H.

       -n, --line-number
              Préfixer  chaque ligne de sortie par le numéro, débutant à un, de la ligne débutant
              dans le fichier.

       -T, --initial-tab
              S'assurer que le premier caractère correspondant au contenu réel de  la  ligne  est
              placé  à  un  emplacement  d'arrêt  d'une  tabulation,  pour  que  l'alignement des
              tabulations paraisse normal. Cela est utile  avec  les  options  qui  utilisent  un
              préfixe  avant  le  contenu  réel  de  la  ligne :  -H, -n et -b. Pour augmenter la
              probabilité que toutes les lignes d'un fichier commencent à la même  colonne,  cela
              force  aussi  le  numéro  de  ligne  et  l'emplacement (s'ils sont présents) à être
              affichés dans un champ de taille minimale.

       -Z, --null
              Afficher un octet NULL (le caractère ASCII NULL) à la place du caractère  qui  suit
              d'ordinaire  le  nom  du fichier. Par exemple, grep -lZ affiche un octet NULL après
              chaque nom de fichier, à la place du changement de ligne. Cette  option  permet  de
              rendre  la  sortie  non  ambiguë,  même  quand les noms de fichiers contiennent des
              caractères inhabituels, comme des changements de  ligne.  Cette  option  peut  être
              utilisée  avec des commandes telles que find -print0, perl -0, sort -z, et xargs -0
              pour traiter des fichiers avec  des  noms  quelconques,  même  ceux  contenant  des
              changements de ligne.

   Contrôle des lignes de contexte
       -A N, --after-context=N
              Afficher les N lignes qui suivent celles contenant le motif. Une ligne contenant --
              est insérée entre les groupes contigus de  correspondances.  Avec  l'option  -o  ou
              --only-matching, ça n'a aucun effet et un avertissement est affiché.

       -B N, --before-context=N
              Afficher  les N lignes qui précèdent celles contenant le motif. Une ligne contenant
              -- est insérée entre les groupes contigus de correspondances. Avec l'option  -o  ou
              --only-matching, ça n'a aucun effet et un avertissement est affiché.

       -C N, -N, --context=N
              Afficher N lignes de contexte. Une ligne contenant -- est insérée entre les groupes
              contigus de correspondances. Avec l'option -o  ou  --only-matching,  ça  n'a  aucun
              effet et un avertissement est affiché.

       --group-separator=SEP
              Quand  les options -A, -B ou -C sont utilisées, afficher SEP à la place de -- entre
              les groupes de lignes.

       --no-group-separator
              Quand les options -A, -B ou -C sont utilisées, ne pas afficher de séparateur  entre
              les groupes de lignes.

   Sélection de fichiers ou répertoires
       -a, --text
              Traiter  un  fichier binaire comme s'il s'agissait de texte ; c'est l'équivalent de
              l'option --binary-files=text.

       --binary-files=TYPE
              Si les données ou les métadonnées d'un fichier indiquent qu'il contient des données
              binaires,  supposer  que  le  fichier  est de type TYPE. Les données non textuelles
              indiquent que le fichier est binaire ; ce sont soit des octets affichés mal encodés
              pour la locale, soit des octets NULL quand l'option -z n'est pas donnée.

              Par  défaut, TYPE est un binary et grep supprime l'affichage après avoir trouvé des
              données NULL dans le binaire d’entrée et il supprime les lignes qui contiennent des
              données  mal  encodées.  Lorsqu'une  partie  de  la sortie est supprimée, grep fait
              suivre n’importe quelle sortie par un  message  sur  la  sortie  d'erreur  standard
              informant de la correspondance d’un fichier binaire.

              Si TYPE vaut without-match, quand grep trouve des données NULL de binaire d’entrée,
              il suppose que le reste du fichier ne correspond pas  à  la  recherche ;  c'est  un
              équivalent de l'option -I.

              Si TYPE vaut text, grep traite un fichier binaire comme un fichier texte ; c'est un
              équivalent de l'option -a.

              Quand type est binary, grep peut traiter  des  données  non  textuelles  comme  des
              marqueurs  de fin de ligne même sans l'option -z. Cela signifie que le choix binary
              versus text peut influer sur  la  correspondance  d'un  motif  à  un  fichier.  Par
              exemple,  quand  type  est  binary,  le  motif  q$ might  correspond  à  un q suivi
              immédiatement d'un octet NULL, alors que cela ne correspond à rien quand  type  est
              text. À l'inverse, quand type est binary, . (point) pourrait ne pas trouver d'octet
              NULL.

              Attention : l'option -a pourrait afficher des  déchets  de  binaire  et  avoir  des
              effets  indésirables  si la sortie est le terminal et que le pilote du terminal les
              interprète comme des commandes. D'un autre  côté,  quand  on  lit  des  fichiers  à
              l'encodage  inconnu, il peut être utile d'utiliser -a ou de définir LC_ALL='C' dans
              l'environnement pour trouver plus de correspondances même si certaines ne sont  pas
              sécurisées pour un affichage direct.

       -D ACTION, --devices=ACTION
              Si  le fichier est un périphérique, une FIFO ou une socket, utiliser ACTION dessus.
              Par défaut, ACTION est read (lecture), ce qui signifie que les  périphériques  sont
              lus  comme des fichiers normaux. Si ACTION est skip, les périphériques sont ignorés
              en silence.

       -d ACTION, --directories=ACTION
              Si le fichier est un répertoire, utiliser ACTION. Par défaut, ACTION est  read,  ce
              qui signifie que les répertoires sont lus comme des fichiers normaux. Si ACTION est
              skip, les répertoires sont ignorés et aucun message n'est affiché.  Si  ACTION  est
              recurse, grep lit tous les fichiers présents dans chaque répertoire, récursivement,
              en ne suivant que les liens symboliques indiqués sur la ligne  de  commande.  C'est
              équivalent à l'option -r.

       --exclude=GLOB
              Sauter  tout  fichier sur la ligne de commande dont le suffixe du nom correspond au
              motif GLOB, en utilisant la correspondance de jokers ; un suffixe de nom  est  soit
              tout  le  nom,  soit la partie qui commence par un caractère, n’étant pas une barre
              oblique, immédiatement après  une  barre  oblique  (/)  dans  un  nom.  Lors  d'une
              recherche récursive, sauter tous les sous-fichiers dont le nom de base correspond à
              GLOB ; le nom de base est la partie après la dernière barre oblique. Un motif  peut
              utiliser  *,  ?  et  [...]  comme  jocker  et  \ pour interpréter littéralement les
              caractères joker ou barre oblique inversée.

       --exclude-from=FICHIER
              Sauter les fichiers dont le nom de fichier correspond à un des motifs contenus dans
              le FICHIER (en utilisant les jokers comme décrit pour --exclude).

       --exclude-dir=GLOB
              Sauter  tout  répertoire sur la ligne de commande dont le suffixe de nom correspond
              au motif GLOB. Lors d'une recherche récursive, sauter tout sous-répertoire dont  le
              nom de base correspond à GLOB. Ignorer les barres obliques redondantes finales dans
              GLOB.

       -I     Traiter un fichier binaire comme s'il ne contenait  aucune  correspondance ;  c'est
              équivalent à l'option --binary-files=without-match.

       --include=GLOB
              Ne  rechercher  que  les  fichiers  dont le nom correspond à GLOB (en utilisant des
              jokers correspondant comme décrit sous  --exclude).  Si  vous  donnez  des  options
              --include  et  --eclude  contradictoires,  la  dernière correspondance gagne. Si ni
              --include, ni --exclude ne correspondent, un fichier est inclus à la recherche sauf
              si la première est --include.

       -r, --recursive
              Lire  récursivement  tous  les  fichiers  à l'intérieur de chaque répertoire, en ne
              suivant les liens symboliques que s'ils sont indiqués sur  la  ligne  de  commande.
              Remarquez  que  si vous ne donnez aucun opérande de fichier, grep recherche dans le
              répertoire courant. C'est l'équivalent de l'option -d recurse.

       -R, --dereference-recursive
              Lire récursivement tous les fichiers à l'intérieur  de  chaque  répertoire.  Suivre
              tous les liens symboliques, contrairement à -r.

   Autres options
       --line-buffered
              Utiliser  un  tampon  de  ligne  sur  le  flux  de  sortie.  Cela  peut réduire les
              performances.

       -U, --binary
              Traiter les fichiers comme s'ils étaient des fichiers binaires.  Par  défaut,  sous
              MS-DOS  et MS-Windows, grep détermine le type de fichier comme cela est décrit pour
              l'option --binary-files. Si grep décide que le fichier est un fichier de texte,  il
              enlève  les  retours  chariot  (CR)  du  contenu  du fichier original (afin que les
              expressions avec  ^  et  $  fonctionnent  correctement).  L'option  -U  modifie  ce
              comportement, tous les fichiers sont alors lus et traités tels quels. Si le fichier
              est un fichier  de  texte  avec  des  paires  CR-LF  en  fin  de  ligne,  certaines
              expressions  rationnelles  peuvent  échouer.  Cette  option n'a aucun effet sur des
              plates-formes autres que MS-DOS et MS-Windows.

       -z, --null-data
              Traiter les données d’entrée et de sortie sous forme d’ensembles de lignes, chacune
              terminée  par  un  octet  NULL (le caractère ASCII NULL) au lieu d'un changement de
              ligne. Comme l'option -Z ou --null,  cette  option  peut  être  combinée  avec  des
              commandes comme sort -z pour traiter des fichiers ayant un nom quelconque.

EXPRESSIONS RATIONNELLES

       Une  expression rationnelle est un motif qui permet de décrire un ensemble de chaînes. Les
       expressions rationnelles sont  construites  comme  des  opérations  arithmétiques ;  elles
       utilisent différents opérateurs pour combiner des expressions plus petites.

       Grep  gère  trois styles de syntaxe pour les expressions rationnelles : « simple » (basic,
       BRE), « étendue » (extended, ERE) et « Perl » (PCRE). Dans la version GNU de grep, il  n'y
       a  pas  de  différence  dans  les  fonctionnalités  disponibles  pour  les styles basic et
       extended. Dans d'autres implémentations, les expressions rationnelles simples  sont  moins
       complètes.  La description ci-dessous correspond aux expressions étendues, les différences
       avec les expressions simples étant résumées ensuite.  Les  expressions  rationnelles  Perl
       offrent  des  fonctionnalités  supplémentaires  et sont documentées dans pcre2syntax(3) et
       pcre2pattern(3), mais ne fonctionnent que si les PCRE sont disponibles sur le système.

       Les briques élémentaires  sont  les  expressions  rationnelles  correspondant  à  un  seul
       caractère.  La  plupart des caractères, y compris les lettres et les chiffres, constituent
       des expressions rationnelles et correspondent avec eux-mêmes. Tout métacaractère ayant une
       signification  particulière  doit être protégé en le faisant précéder d'une contre-oblique
       (backslash).

       Le point . correspond à n'importe quel caractère. Il n'est pas  spécifié  s’il  correspond
       avec une erreur d'encodage.

   Classes de caractères et expressions entre crochets
       Une  expression entre crochets est une liste de caractères encadrée par un [ et un ]. Elle
       est en correspondance avec n'importe quel caractère appartenant à la liste. Si le  premier
       caractère  de  la  liste  est un caret « ^ », alors la mise en correspondance se fait avec
       n'importe quel caractère absent de la liste ; il n'est pas spécifié s'il  correspond  avec
       une  erreur  d'encodage.  Par exemple, l'expression rationnelle [0123456789] concorde avec
       n'importe quel chiffre.

       Entre ces crochets, un intervalle de caractères consiste en deux caractères séparés par un
       tiret.  Il  correspond  avec  n'importe  quel  caractère compris entre les deux caractères
       caractère (ceux-ci inclus), l'ordre des  caractères  dépendant  des  paramètres  régionaux
       (locale,  en  anglais)  actuels.  Ainsi, avec les paramètres par défaut (« C »), [a-d] est
       équivalent à [abcd]. Avec beaucoup de paramètres régionaux, les caractères sont  triés  en
       suivant  l'ordre  des  dictionnaires,  et  [a-d]  n'est  alors en général pas équivalent à
       [abcd], mais peut  l'être  à  [aBbCcDd],  par  exemple.  Pour  que  ces  listes  aient  le
       comportement habituel de « C », vous pouvez positionner la variable d'environnement LC_ALL
       à la valeur C.

       Enfin, certaines classes de caractères prédéfinies  existent  à  l'intérieur  de  crochets
       comme suit. Leurs noms sont assez explicites : [:alnum:], [:alpha:], [:blank:], [:cntrl:],
       [:digit:]  (chiffres),  [:graph:],  [:lower:]   (minuscules),   [:print:]   (affichables),
       [:punct:]   (ponctuation),  [:space:]  (espace),  [:upper:]  (majuscules),  et  [:xdigit:]
       (chiffres hexadécimaux). Par exemple, [[:alnum:]] correspond aux chiffres et lettres  pour
       les  paramètres  régionaux  actuels.  Dans les paramètres régionaux C et avec le codage de
       caractères ASCII, c'est équivalent à [0-9A-Za-z]. Remarquez que les crochets dans les noms
       de classes font partie intégrante du nom symbolique, et qu'ils doivent donc être inclus en
       plus des crochets encadrant ces expressions entre crochets. La plupart des  métacaractères
       perdent  leur  signification  particulière  à l'intérieur d'une expression entre crochets.
       Pour inclure un caractère ], mettez-le en premier dans la liste. De même, pour inclure  un
       caractère  ^,  placez-le n'importe où sauf au début de la liste. Enfin, pour inclure un -,
       placez-le en dernier.

   Ancrage
       Le  caret  « ^ »  et  le  symbole  dollar  « $ »  sont  des  métacaractères  correspondant
       respectivement à une chaîne vide au début et en fin de ligne.

   Caractère contre-oblique et expressions spéciales
       Les symboles \< et \> correspondent respectivement à une chaîne vide en début et en fin de
       mot. Le symbole \b correspond à une chaîne vide à l'extrémité d'un mot, et \B correspond à
       une  chaîne  vide ne se trouvant pas à une extrémité de mot. Le symbole \w est un synonyme
       pour [_[:alnum:]] et \W est un synonyme pour [^_[:alnum:]].

   Répétitions
       Dans une expression rationnelle, un caractère peut être suivi par l'un des  opérateurs  de
       répétition suivants :
       ?      L'élément précédent est facultatif et peut être rencontré au plus une fois.
       *      L'élément précédent peut être rencontré zéro ou plusieurs fois.
       +      L'élément précédent peut être rencontré une ou plusieurs fois.
       {n}    L'élément précédent doit correspondre exactement n fois.
       {n,}   L'élément précédent doit correspondre n fois ou plus.
       {,m}   L'élément précédent doit correspondre au plus m fois. C’est une extension GNU.
       {n,m}  L'élément précédent doit correspondre au moins n fois, mais au plus m fois.

   Concaténations
       Deux   expressions   rationnelles   peuvent  être  concaténées ;  l'expression  résultante
       correspondra à toute chaîne formée par la concaténation de deux sous-chaînes correspondant
       respectivement aux expressions concaténées.

   Alternatives
       Deux expressions rationnelles peuvent être reliées par l'opérateur infixe | ; l'expression
       résultante correspondra à toute chaîne qui comporte l'une ou l'autre des deux expressions.

   Priorités
       Les répétitions ont priorité sur les concaténations, qui à leur tour ont priorité sur  les
       alternatives. Une sous-expression peut être entourée par des parenthèses pour modifier ces
       règles de priorité et former une expression.

   Références arrières et sous-expressions
       La référence arrière \n, où n est un chiffre unique, correspond à la sous-chaîne déjà mise
       en correspondance avec la n-ième sous-expression rationnelle entre parenthèses.

   Expressions rationnelles basiques et étendues
       Dans  les expressions rationnelles simples, les métacaractères ?, +, {, |, (, et ) perdent
       leur  signification  spéciale,  il  faut  utiliser  à  la  place  leur  version  avec   la
       contre-oblique \?, \+, \{, \|, \(, et \).

CODE DE RETOUR

       Normalement,  le  code  de  retour est 0 si des concordances ont été trouvées, 1 si aucune
       concordance n'a été trouvée et 2 si une erreur est survenue. Toutefois, si les options -q,
       --quiet  ou  --silent  sont utilisées et si une ligne est trouvée, le code de retour est 0
       même si une erreur est survenue.

ENVIRONNEMENT

       Le comportement de grep est modifié par les variables d'environnement suivantes :

       Les paramètres régionaux pour la catégorie LC_truc sont définis par  les  trois  variables
       d'environnement  LC_ALL, LC_truc, LANG, dans cet ordre. La variable positionnée en premier
       détermine le choix des paramètres régionaux. Par exemple, si LC_ALL n'est pas positionnée,
       mais  LC_MESSAGES vaut fr_FR, alors le français est utilisé pour l'affichage des messages.
       Par défaut « C » est utilisée si aucune variable  d'environnement  n'est  trouvée,  si  le
       catalogue  des  paramètres régionaux n'est pas installé ou bien si grep a été compilé sans
       le support pour les langues nationales (NLS). La commande locale -a liste  les  paramètres
       régionaux actuellement disponibles.

       GREP_COLORS
              Contrôler  la  manière  dont l'option '--color met en évidence la sortie. Sa valeur
              est une liste de capacités séparées  par  des  deux-points,  qui  vaut  par  défaut
              ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36  sans les capacités booléennes rv
              et ne (qui prennent alors la valeur  « false »,  faux).  Les  capacités  prises  en
              charge sont les suivantes :

              sl=    Sous-chaîne  SGR  (« Select  Graphic  Rendition »)  pour les lignes entières
                     sélectionnées (c'est-à-dire les lignes qui correspondent quand  l'option  en
                     ligne  de commande -v n'est pas utilisée, ou les lignes qui ne correspondent
                     pas quand -v est spécifiée).  Si  cependant  la  capacité  booléenne  rv  et
                     l'option en ligne de commande -v sont toutes deux indiquées, cela s'applique
                     à la place aux lignes de contexte qui correspondent. La  valeur  par  défaut
                     est vide (c'est-à-dire la paire de couleurs par défaut du terminal).

              cx=    Sous-chaîne  SGR  pour  les  lignes  de  contexte entières (c'est-à-dire les
                     lignes qui ne correspondent pas quand l'option en ligne de commande -v n'est
                     pas  utilisée,  ou  les  lignes qui correspondent quand -v est indiquée). Si
                     cependant la capacité booléenne rv et l'option en ligne de commande -v  sont
                     toutes  deux  indiquées,  cela  s'applique  à  la  place  aux  lignes qui ne
                     correspondent pas. La valeur par défaut est vide (c'est-à-dire la  paire  de
                     couleurs par défaut du terminal).

              rv     Valeur booléenne qui inverse la signification des capacités sl= et cx= quand
                     l’option de ligne de commande -v est indiquée. La valeur par défaut  est  le
                     booléen faux (c'est-à-dire la capacité est omise).

              mt=01;31
                     Sous-chaîne  SGR  pour  le texte non vide qui correspond dans les lignes qui
                     correspondent (c'est-à-dire une ligne sélectionnée quand l'option  en  ligne
                     de  commande  -v  n'est  pas utilisée, ou une ligne de contexte quand -v est
                     spécifiée). L'utiliser est équivalent à utiliser à la fois ms= et  mc=  avec
                     la même valeur. La valeur par défaut correspond à du texte rouge en gras sur
                     le fond de la ligne actuelle.

              ms=01;31
                     Sous-chaîne SGR pour le  texte  non  vide  qui  correspond  dans  une  ligne
                     sélectionnée  (ce  n'est  utilisé que quand l'option en ligne de commande -v
                     n'est pas utilisée). L'effet de la capacité sl= (ou cx= si rv  est  activée)
                     reste  actif quand c'est utilisé. La valeur par défaut correspond à du texte
                     rouge en gras sur le fond de la ligne actuelle.

              mc=01;31
                     Sous-chaîne SGR pour le texte non vide qui correspond  dans  les  lignes  de
                     contexte  (ce n'est utilisé que quand l'option en ligne de commande -v n'est
                     pas utilisée). L'effet de la capacité cx= (ou sl= si rv est  activée)  reste
                     actif  quand c'est utilisé. La valeur par défaut correspond à du texte rouge
                     en gras sur le fond de la ligne actuelle.

              fn=35  Sous-chaîne SGR pour les  noms  de  fichier  qui  préfixent  les  lignes  de
                     contenu.  La  valeur par défaut correspond à du texte de couleur magenta sur
                     le fond par défaut du terminal.

              ln=32  Sous-chaîne SGR pour les numéros  de  ligne  qui  préfixent  les  lignes  de
                     contenu.  La  valeur par défaut correspond à du texte de couleur vert sur le
                     fond par défaut du terminal.

              bn=32  Sous-chaîne SGR pour les emplacements qui préfixent les lignes  de  contenu.
                     La  valeur  par défaut correspond à du texte de couleur vert sur le fond par
                     défaut du terminal.

              se=36  Sous-chaîne SGR pour les séparateurs qui sont insérés entre les  champs  des
                     lignes  sélectionnées  (:),  entre  les champs des lignes de contexte (-) et
                     entre les groupes de  lignes  adjacentes  quand  un  contexte  non  nul  est
                     spécifié  (--).  La  valeur par défaut correspond à du texte de couleur cyan
                     sur le fond par défaut du terminal.

              ne     Valeur booléenne qui évite l'effacement de la fin de la ligne  en  utilisant
                     une séquence EL (« Erase in Line », ou en français « Effacement en Ligne »),
                     vers la droite (\33[K) à chaque fois qu'un élément coloré se termine.  C'est
                     nécessaire  pour  les  terminaux  sur  lesquels EL n'est pas pris en charge.
                     Sinon, c'est aussi  utile  pour  les  terminaux  sur  lesquels  la  capacité
                     booléenne  terminfo  « back_color_erase » (bce) ne s'applique pas, quand les
                     couleurs de mise en évidence ne touchent pas à la couleur de fond, quand  EL
                     est  trop  lent ou cause trop de scintillements. La valeur par défaut est le
                     booléen faux (c'est-à-dire que la capacité n'est pas activée).

              Notez que les capacités booléennes n'ont pas de partie « =... ». Elles sont  omises
              par  défaut  (ce  qui correspond à une valeur booléenne faux) et deviennent vrai si
              elles sont précisées.

              Voir la section Select Graphic Rendition (SGR) dans la  documentation  du  terminal
              texte  utilisé  pour  avoir  la  liste des valeurs autorisées et leur signification
              comme attributs de caractère. Ces valeurs de sous-chaînes  sont  des  entiers  sous
              forme  décimale  et  peuvent  être concaténées à l'aide de points-virgules. grep se
              charge d'assembler le résultat en une séquence SGR complète (\33[...m). Les valeurs
              courantes  à concaténer sont entre autres 1 (gras), 4 (souligné), 5 (clignotant), 7
              (inversé), 39 (couleur de trait par défaut), 30 à 37 (couleurs de trait), 90  à  97
              (couleurs  de  trait  en mode 16 couleurs), 38;5;0 à 38;5;255 (couleurs de trait en
              mode 88 et 256 couleurs), 49 (couleur de fond par défaut), 40  à  47  (couleurs  de
              fond),  100  à  107  (couleurs  de  fond  en mode 16 couleurs) et 48;5;0 à 48;5;255
              (couleurs de fond en mode 88 et 256 couleurs).

       LC_ALL, LC_COLLATE, LANG
              Ces variables indiquent  le  choix  des  paramètres  régionaux  pour  la  catégorie
              LC_COLLATE,  qui détermine l'ordre des caractères utilisé pour l'interprétation des
              intervalles tels que [a-z].

       LC_ALL, LC_CTYPE, LANG
              Ces variables spécifient les paramètres régionaux de la catégorie LC_CTYPE, ce  qui
              détermine  le  type  de  caractères, par exemple, quels caractères sont des blancs.
              Cette catégorie détermine aussi l'encodage de caractères, c'est-à-dire si le  texte
              est  encodé  en  UTF-8, ASCII ou un autre encodage. Avec la locale C ou POSIX, tous
              les caractères sont encodés sur un octet et chaque octet est un caractère valable.

       LC_ALL, LC_MESSAGES, LANG
              Ces variables indiquent  le  choix  des  paramètres  régionaux  pour  la  catégorie
              LC_MESSAGES,  qui  détermine  la  langue  utilisée  par grep pour ses messages. Les
              paramètres « C » utilisés par défaut sont en anglais américain.

       POSIXLY_CORRECT
              Si cette variable est positionnée, grep se comporte comme  indiqué  dans  la  norme
              POSIX. Sinon, grep se comporte plus comme les autres programmes GNU. POSIX requiert
              que les options qui suivent des noms de fichiers soient considérées aussi comme des
              noms  de  fichiers.  Par  défaut,  ces  options  sont  déplacées avant la liste des
              opérandes et sont traitées comme des options. POSIX requiert aussi que les  options
              non   reconnues   soient   considérées   comme  « illégales » ;  mais  comme  elles
              n'enfreignent  pas  vraiment  les  règles,  elles  sont  rapportées   comme   étant
              « incorrectes »    par    défaut.    POSIXLY_CORRECT   désactive   aussi   l'option
              _N_GNU_nonoption_argv_flags_, qui est décrite plus bas.

       _N_GNU_nonoption_argv_flags_
              (Ici, N est l'identifiant numérique du processus de grep). Si le  i-ième  caractère
              de  la  valeur de cette variable d'environnement vaut 1, le i-ième opérande de grep
              n'est pas considéré comme étant une option, même s'il semble l'être. Un shell  peut
              placer  cette  variable  dans  l'environnement  de  chaque  commande  lancée,  pour
              spécifier quels opérandes sont le résultat du remplacement de métacaractères et  ne
              doivent  donc  pas être considérés comme des options. Ce comportement n'est présent
              qu'avec la bibliothèque C  de  GNU,  et  seulement  si  POSIXLY_CORRECT  n'est  pas
              positionnée.

NOTES

       Cette  page  de manuel est maintenue de façon intermittente. La documentation complète est
       mise à jour plus souvent.

COPYRIGHT

       Copyright 1998-2000, 2002, 2005-2022 Free Software Foundation, Inc.

       C'est un logiciel libre ; consultez les sources pour les conditions de  copie.  Il  n'y  a
       AUCUNE  garantie ;  même  pas  de  VALEUR  MARCHANDE  ou  d'ADÉQUATION  À  UNE UTILISATION
       PARTICULIÈRE.

BOGUES

   Remonter des bogues
       Envoyez par courriel les  signalements  de  bogues  à  l'adresse  ⟨bug-grep@gnu.org⟩.  Une
       archive  de  courrier électronique ⟨https://lists.gnu.org/mailman/listinfo/bug-grep⟩ et un
       gestionnaire  de  bogues   ⟨https://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep⟩   sont
       disponibles.

   Bogues connus
       Dans  les  constructions  {n,m}  de  grandes  valeurs de répétition peuvent pousser grep à
       utiliser beaucoup de mémoire. D'autres expressions rationnelles tordues peuvent prendre un
       temps très long et mener à une insuffisance de mémoire.

       Les  références  arrières  sont  très  lentes  et peuvent demander un temps très important
       (exponentiel).

EXEMPLE

       L'exemple suivant affiche l'emplacement et le contenu de n'importe quelle ligne  contenant
       « f »  et se terminant par « .c » dans tous les fichiers du répertoire courant dont le nom
       contient « g » et se termine par  « .h ».  L'option  -n  affiche  les  numéros  de  ligne,
       l'argument  --  traite  les expansions de « *g*.h » commençant par « - » comme des noms de
       fichier, pas des options, et le fichier /dev/null fait en sorte que les  noms  de  fichier
       soient affichés même si un seul nom de fichier a la forme « *g*.h ».

         $ grep -n -- 'f.*\.c$' *g*.h /dev/null
         argmatch.h:1:/* definitions and prototypes for argmatch.c

       La seule ligne qui correspond est la première ligne d'argmatch.h. Remarquez que la syntaxe
       de l'expression rationnelle utilisée dans le motif diffère de celle avec des jokers (glob)
       utilisée par l'interpréteur pour les correspondances de noms de fichier.

VOIR AUSSI

   Pages de manuel
       awk(1),  cmp(1),  diff(1),  find(1), perl(1), sed(1), sort(1), xargs(1), read(2), pcre(3),
       pcresyntax(3), pcrepattern(3), terminfo(5), glob(7), regex(7)

   Documentation complète
       Un manuel  complet  ⟨https://www.gnu.org/software/grep/manual/⟩  est  disponible.  Si  les
       programmes info et grep sont correctement installés sur votre système, la commande

              info grep

       devrait vous donner accès au manuel complet.

TRADUCTION

       La  traduction  française  de  cette  page  de  manuel  a  été  créée  par  Luc Froidefond
       <luc.froidefond@free.fr>, Nicolas François  <nicolas.francois@centraliens.net>,  Florentin
       Duneau   <fduneau@gmail.com>,   David   Prévot   <david@tilapin.org>,   Cédric  Boutillier
       <cedric.boutillier@gmail.com>, Jean-Philippe MENGUAL <jpmengual@debian.org> et Jean-Pierre
       Giraud <jean-pierregiraud@neuf.fr>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.