[[man_de_grep]]

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

man_de_grep [2016/03/30 15:33] (Version actuelle)
Ligne 1: Ligne 1:
 +==== Manuel de la commande "​grep"​ ====
 +
 +<​code>​
 +GREP(1) ​                                                 General Commands Manual ​                                                ​GREP(1)
 +
 +
 +
 +NOM
 +       grep, egrep, fgrep, rgrep - Afficher les lignes correspondant à un motif donné
 +
 +SYNOPSIS
 +       grep [OPTIONS] MOTIF [FICHIER...]
 +       grep [OPTIONS] [-e MOTIF | -f FICHIER] [FICHIER...]
 +
 +DESCRIPTION
 +       ​grep ​ recherche ​ dans  les FICHIERs indiqués les lignes correspondant à un certain MOTIF. Par défaut, grep affiche les lignes qui
 +       ​contiennent une correspondance au motif. L'​entrée standard est lue si FICHIER est omis ou si FICHIER vaut « - ».
 +
 +       Trois variantes du programme sont disponibles : egrep, fgrep et rgrep ; egrep est identique à  grep -E,  fgrep  est  identique ​ à
 +       grep -F  et  rgrep  est  identique ​ à  grep -r.  L'​appel direct à egrep ou fgrep est déconseillé,​ mais est toujours possible pour
 +       ​permettre à d'​anciennes applications qui les utilisent de fonctionner sans modification.
 +
 +OPTIONS
 +   ​Informations générales sur le programme
 +       ​--help Afficher un bref message d'aide pour l'​utilisation qui résume les options en ligne de commande et l'​adresse pour  remonter
 +              des bogues, puis quitter.
 +
 +       -V, --version
 +              Afficher ​ le  numéro ​ de  version ​ de  grep  sur  la sortie standard. Ce numéro de version devra être inclus dans tous les
 +              rapports de bogues (voir ci-dessous).
 +
 +   ​Sélection des correspondances
 +       -E, --extended-regexp
 +              Interpréter le MOTIF comme une expression rationnelle étendue (ERE, voir ci-dessous). (-E est une spécification POSIX.)
 +
 +       -F, --fixed-strings
 +              Interpréter le MOTIF comme une liste de chaînes de caractères fixes (plutôt que des  expressions ​ rationnelles), ​ séparées
 +              par des changements de ligne. Chacune d'​entre elles doit être recherchée. (-F est une spécification POSIX.)
 +
 +       -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, voir ci-dessous). Cette option est expérimentale et grep
 +              -P pourrait signaler des fonctionnalités non implémentées.
 +
 +   ​Contrôle de correspondance
 +       -e MOTIF, --regexp=MOTIF
 +              Utiliser le MOTIF comme motif. Ceci peut être utilisé pour spécifier des motifs de recherche ​ multiples ​ ou  protéger ​ les
 +              motifs commençant par un tiret « - ». (-e est une spécification POSIX.)
 +
 +       -f FICHIER, --file=FICHIER
 +              Lire  les  motifs ​ dans le FICHIER indiqué, un motif par ligne. Un fichier vide ne contient aucun motif, si bien qu'​aucune
 +              correspondance n'est trouvée. (-f est une spécification POSIX.)
 +
 +       -i, --ignore-case
 +              Ignorer la casse aussi bien dans le MOTIF que dans les fichiers. (-i est une spécification POSIX.)
 +
 +       -v, --invert-match
 +              Inverser la mise en correspondance,​ pour sélectionner les lignes ne correspondant pas au motif. (-v est une  spécification
 +              POSIX.)
 +
 +       -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é « _ ».
 +
 +       -x, --line-regexp
 +              Ne sélectionner que les correspondances exactes de ligne entière. Cette option a  le  même  effet  qu’ancrer ​ l’expression
 +              entre ^ et $. (-x est une spécification POSIX.)
 +
 +       ​-y ​    ​Synonyme obsolète de -i.
 +
 +   ​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. ​ (-c
 +              est une spécification POSIX.)
 +
 +       ​--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. L'​ancienne variable d'​environnement GREP_COLOR est  toujours ​ gérée,
 +              mais  elle  a  une  priorité ​ inférieure pour décider de la configuration. 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é. La recherche dans chaque fichier cesse dès la première correspondance.
 +
 +       -l, --files-with-matches
 +              Ne  pas  afficher les résultats normaux. À la place, indiquer le nom des fichiers pour lesquels des résultats auraient été
 +              affichés. La recherche dans chaque fichier cesse dès la première correspondance. (-l est spécifiée dans POSIX)
 +
 +       -m N, --max-count=N
 +              Arrêter de lire un fichier après avoir trouvé N lignes sélectionnées. 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 ​ ensuite.
 +              Ceci  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. 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
 +              Ne  pas  afficher les résultats normaux. Sortir immédiatement avec un code de retour égal à zéro dès qu'une correspondance
 +              est trouvée, même si une erreur est détectée. Voyez aussi l'​option -s ou --no-messages. (-q est spécifiée dans POSIX)
 +
 +       -s, --no-messages
 +              Ne pas afficher les messages d'​erreur concernant les fichiers inexistants ​ ou  illisibles. ​ Note  de  portabilité :  à  la
 +              différence ​ du  grep de GNU, le grep de la 7e édition d'UNIX n'est pas conforme au standard POSIX, car il n'a pas d'​option
 +              -q et son option -s agit comme l'​option -q du grep de GNU. La version USG de grep n'​avait pas non plus d'​option ​ -q,  mais
 +              son option -s se comportait comme celle de la version GNU de grep. Les scripts shell destinés à être utilisés avec le grep
 +              traditionnel devraient éviter d'​utiliser les options -q et -s, et devraient plutôt rediriger la sortie vers /dev/null. (-s
 +              est spécifiée dans POSIX)
 +
 +   ​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.
 +
 +       -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  l'​implémentation ​ des  outils comme zgrep, par exemple : gzip -cd foo.gz |grep --label=truc
 +              quelquechose. Consultez également l'​option -H.
 +
 +       -n, --line-number
 +              Préfixer chaque ligne de sortie par le numéro de la ligne dans le fichier. La numérotation commence à la ligne 1. (-n  est
 +              spécifiée dans POSIX)
 +
 +       -T, --initial-tab
 +              S'​assurer ​ que le premier caractère correspondant au contenu est placé à un emplacement d'​arrêt d'une tabulation, pour que
 +              l'​alignement des tabulations paraisse normal. Ceci est utile avec les options qui utilisent un préfixe avant le  contenu :
 +              -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.
 +
 +       -u, --unix-byte-offsets
 +              Afficher la position relative en octets dans le style UNIX. Avec cette option, grep affiche la position relative en octets
 +              comme  si  le  fichier ​ était un fichier de texte de type UNIX, c'​est-à-dire avec les caractères CR supprimés. Ceci permet
 +              d'​avoir un résultat identique à celui retourné par grep sur une machine UNIX. Cette option n'a d'​effet ​ que  si  elle  est
 +              utilisée conjointement avec l'​option -b, et sur une machine MS-DOS ou MS-Windows.
 +
 +       -Z, --null
 +              Afficher ​ un  octet  nul  (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 nul 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 celle 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 celle qui contient 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é.
 +
 +   ​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 premiers octets d'un fichier indiquent qu'il contient des données binaires, considérer que le fichier est  de  type
 +              TYPE.  Par défaut, TYPE est binary, et grep affiche un message uniligne disant que le fichier binaire contient le motif ou
 +              n'​affiche rien s'il n'y a pas correspondance. Si TYPE est without-match,​ grep considère qu'un fichier binaire ne  concorde
 +              jamais. ​ C'est équivalent à l'​option -I. Si TYPE est text, grep traite un fichier binaire comme du texte. C'est équivalent
 +              à l'​option -a. Attention : grep --binary-files=text peut afficher des données binaires indésirables,​ qui peuvent avoir des
 +              conséquences ​ fâcheuses ​ si  la  sortie ​ est  envoyée vers un terminal et si le pilote de celui-ci l'​interprète comme s'il
 +              s'​agissait de commandes.
 +
 +       -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=MOTIF
 +              Sauter ​ les  fichiers ​ dont le nom de fichier correspond à MOTIF (en utilisant une correspondance avec joker). Un motif de
 +              fichier peut utiliser les jokers *, ? et [...], et \ pour la protection des caractères littéraux joker ou contre-oblique.
 +
 +       ​--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=RÉP
 +              Exclure les répertoires qui correspondent au motif RÉP des recherches récursives.
 +
 +       ​-I ​    ​Traiter ​  ​un ​  ​fichier ​  ​binaire ​  ​comme ​  ​s'​il ​  ​ne ​  ​contenait ​ aucune ​ correspondance ;  c'​est ​ équivalent ​ à  l'​option
 +              --binary-files=without-match.
 +
 +       ​--include=MOTIF
 +              Ne chercher que dans les fichiers dont le nom de fichier correspond à MOTIF (en utilisant les jokers, ​ comme  décrit ​ pour
 +              --exclude).
 +
 +       -r, --recursive
 +              Lire  récursivement ​ tous  les fichiers à l'​intérieur de chaque répertoire,​ en ne suivant les liens symboliques uniquement
 +              s'ils sont indiqués sur la ligne de commande. 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. Ceci 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 en regardant le contenu des 32 premiers kilo-octets. 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
 +              Considérer que l'​entrée est un ensemble 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   ​pcresyntax(3) ​  et
 +       ​pcrepattern(3),​ mais ne fonctionnent que si pcre est disponible 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.
 +
 +   ​Classes de caractères et expressions entre crochets
 +       ​Une ​ liste  de  caractères, ​ encadrée ​ par [ et ] peut être mise en correspondance avec n'​importe quel caractère appartenant à la
 +       ​liste. Si le premier caractère de la liste est l'​accent circonflexe « ^ », alors la mise en correspondance se fait avec n'​importe
 +       quel caractère absent de la liste. Par exemple, l'​expression rationnelle [0123456789] concorde avec n'​importe quel chiffre.
 +
 +       ​Entre ​ ces  crochets, un intervalle de caractères peut être indiqué en donnant le premier et le dernier caractère, séparés par un
 +       ​tiret. Il correspond à n'​importe quel caractère compris entre le premier et le dernier caractère (ceux-ci ​ inclus), ​ l'​ordre ​ des
 +       ​caractères ​ dépendant ​ des paramètres régionaux (locale, en anglais) actuels. Ainsi, avec la valeur 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,​ il existe certaines classes de caractères prédéfinies. Leurs noms sont assez explicites : [:alnum:], [:alpha:], [: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
 +       ​L'​accent circonflexe « ^ » 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 les 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  juxtaposées ;  l'​expression ​ résultante correspondra à toute chaîne formée par la
 +       ​juxtaposition de deux sous-chaînes correspondant respectivement aux deux expressions.
 +
 +   ​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 \).
 +
 +       La version traditionnelle d'​egrep ne connaît pas le métacaractère {, et certaines ​ implémentations ​ d'​egrep ​ utilisent ​ \{  à  la
 +       ​place, ​ si  bien  que  des  scripts ​ shell  portables devraient éviter { dans les motifs d'​egrep et utiliser [{] pour désigner un
 +       ​caractère {.
 +
 +       GNU grep -E essaie d'​émuler l'​usage traditionnel en supposant ​ que  {  n'​est ​ pas  spécial ​ au  cas  où  il  rendrait ​ incorrecte
 +       ​l'​expression ​ qu'​il ​ commence. Par exemple, la commande shell grep -E '​{1'​ recherche la chaîne composée des deux caractères {1 au
 +       lieu de signaler une erreur de syntaxe. POSIX permet ce comportement comme une extension à la norme, mais les  scripts ​ portables
 +       ​devraient l'​éviter.
 +
 +VARIABLES D'​ENVIRONNEMENT
 +       Le comportement de grep est modifié par les variables d'​environnement suivantes :
 +
 +       ​Les ​ paramètres ​ régionaux ​ pour  la catégorie LC_truc est définie 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).
 +
 +       ​GREP_OPTIONS
 +              Cette  variable ​ définit ​ des options qui seront ajoutées avant n'​importe quelle option explicite de la ligne de commande.
 +              Par exemple, si GREP_OPTIONS vaut « --binary-files=without-match --directories=skip », grep se comporte comme si les  deux
 +              options ​  ​--binary-files=without-match ​ et  --directories=skip ​ avaient ​ été  spécifiées ​ avant  les  options ​ explicites.
 +              Différentes options peuvent être séparées par des espaces, et une contre-oblique supprime ​ la  signification ​ spéciale ​ du
 +              caractère suivant, ce qui permet de spécifier une option contenant une espace ou une contre-oblique.
 +
 +       ​GREP_COLOR
 +              Cette  variable spécifie la couleur utilisée pour mettre en évidence le texte qui correspond (et n'est pas vide). Elle est
 +              dépréciée en faveur de GREP_COLORS,​ mais est encore prise en charge. Les capacités ​ mt,  ms  et  mc  de  GREP_COLORS ​ sont
 +              prioritaires ​ sur  celle-ci. ​ Cette  variable ​ ne  peut que spécifier la couleur pour mettre en évidence le texte non vide
 +              concordant dans une ligne qui correspond (une ligne sélectionnée quand l'​option de la  ligne  de  commande ​ -v  n'​est ​ pas
 +              utilisée, ​ ou  une ligne de contexte quand -v est spécifiée). La valeur par défaut est 01;31, ce qui correspond à un texte
 +              rouge en gras sur le fond par défaut du terminal.
 +
 +       ​GREP_COLORS
 +              Indiquer les couleurs et autres attributs utilisés pour mettre en évidence différentes parties de 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,​ ça 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, ça 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 la 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éenne ​ n'ont pas de partie « =... ». Elles sont omises par défaut (ce qui correspond à une
 +              valeur booléenne fausse) 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 indiquent le choix des paramètres régionaux pour la catégorie LC_CTYPE qui détermine le codage de caractères
 +              utilisé, par exemple pour indiquer quels caractères sont considérés comme étant des espaces.
 +
 +       ​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. Par défaut, avec « C », les messages 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.
 +
 +CODE DE SORTIE
 +       Le code de sortie vaut 0 si des lignes sont trouvées et 1 si aucune n'est trouvée. Si une erreur survient, le code de sortie vaut
 +       2. (Note : pour une gestion des erreurs POSIX, vous devriez tester si le code de sortie vaut 2 ou une valeur supérieure.
 +
 +COPYRIGHT
 +       ​Copyright 1998-2000, 2002, 2005-2014 Free Software Foundation, Inc.
 +
 +       Ce logiciel est libre ; voir les sources pour les conditions de reproduction. AUCUNE garantie n'est donnée, pas même la  garantie
 +       ​implicite de COMMERCIALISATION ni d'​ADÉQUATION À UN BESOIN PARTICULIER.
 +
 +BOGUES
 +   ​Remonter des bogues
 +       ​Envoyez ​ les  rapports ​ de  bogue  ([ndt] ​ en  anglais !)  à  <​bug-grep@gnu.org>, ​ une  liste  de  diffusion dont la page web est
 +       <​http://​lists.gnu.org/​mailman/​listinfo/​bug-grep>​. Le logiciel de suivi des bogues sur Savannah de  grep  est  situé ​ à  l'​adresse
 +       <​http://​savannah.gnu.org/​bugs/?​group=grep>​.
 +
 +   ​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).
 +
 +VOIR AUSSI
 +   Pages de manuel
 +       ​awk(1),​ cmp(1), diff(1), find(1), gzip(1), ​ perl(1), ​ sed(1), ​ sort(1), ​ xargs(1), ​ zgrep(1), ​ mmap(2), ​ pcre(3), ​ pcresyntax(3),​
 +       ​pcrepattern(3),​ terminfo(5),​ glob(7), regex(7)
 +
 +   POSIX Page de manuel du programmeur
 +       ​grep(1p).
 +
 +   ​Documentation TeXinfo
 +       ​La ​   documentation ​   complète ​   de    grep   ​est ​  ​disponible ​  ​au ​  ​format ​  ​TeXinfo ​  ​et ​  ​peut ​  ​être ​  ​lue ​  ​à ​  ​l'​adresse
 +       ​http://​www.gnu.org/​software/​grep/​manual/​. Si info et grep sont correctement installés, la commande
 +
 +              info grep
 +
 +       ​devrait vous donner accès au manuel complet de grep.
 +
 +NOTES
 +       Cette page de manuel est maintenue de façon intermittente. La documentation complète est mise à jour plus souvent.
 +
 +       ​GNU'​s not Unix, but Unix is a beast; its plural form is Unixen.
 +
 +TRADUCTION
 +       Cette page de manuel a été traduite par Christophe Blaess en 1997 et mise à jour par Denis  Barbier ​ jusqu'​en ​ 2005.  La  version
 +       ​présente ​ dans  Debian est dorénavant maintenue par Luc Froidefond <luc DOT froidefond AT free DOT fr> et les membres de la liste
 +       <​debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport ​ de  bogue  sur  le
 +       ​paquet manpages-fr-extra.
 +
 +
 +
 +Commandes de l'​utilisateur ​                                   GNU grep 2.20                                                      GREP(1)
 +
 +</​code>​
  
  • man_de_grep.txt
  • Dernière modification: 2016/03/30 15:33
  • (modification externe)