dwww Home | Manual pages | Find package

GREP(1)                   Commandes de l'utilisateur                   GREP(1)

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  ra-
       tionnelles  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.  Re-
       marquez que la syntaxe de l'expression rationnelle utilisée dans le mo-
       tif 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 dis-
       ponible. 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.fran-
       cois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, David Pré-
       vot    <david@tilapin.org>,    Cédric    Boutillier     <cedric.boutil-
       lier@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⟩.

GNU grep 3.8                      2019-12-29                           GREP(1)

Generated by dwww version 1.15 on Sat Jun 29 01:35:27 CEST 2024.