.\" -*- coding: UTF-8 -*-
.de dT
.ds Dt \\$2
..
.\" GNU grep man page
.dT Time-stamp: 2019-12-29
.\" Update the above date whenever a change to either this file or
.\" grep.c's 'usage' function results in a nontrivial change to the man page.
.\" In Emacs, you can update the date by running 'M-x time-stamp'
.\" after you make a change that you decide is nontrivial.
.\" It is no big deal to forget to update the date.
.
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH GREP 1 \*(Dt "GNU grep 3.8" "Commandes de l'utilisateur"
.
.if !\w|\*(lq| \{\
.\" groff an-old.tmac does not seem to be in use, so define lq and rq.
. ie \n(.g \{\
. ds lq \(lq\"
. ds rq \(rq\"
. \}
. el \{\
. ds lq ``
. ds rq ''
. \}
.\}
.
.if !\w|\*(la| \{\
.\" groff an-ext.tmac does not seem to be in use, so define the parts of
.\" it that are used below. For a copy of groff an-ext.tmac, please see:
.\" https://git.savannah.gnu.org/cgit/groff.git/plain/tmac/an-ext.tmac
.\" --- Start of lines taken from groff an-ext.tmac
.
.\" Check whether we are using grohtml.
.nr mH 0
.if \n(.g \
. if '\*(.T'html' \
. nr mH 1
.
.
.\" Map mono-width fonts to standard fonts for groff's TTY device.
.if n \{\
. do ftr CR R
. do ftr CI I
. do ftr CB B
.\}
.
.\" groff has glyph entities for angle brackets.
.ie \n(.g \{\
. ds la \(la\"
. ds ra \(ra\"
.\}
.el \{\
. ds la <\"
. ds ra >\"
. \" groff's man macros control hyphenation with this register.
. nr HY 1
.\}
.
.\" Start URL.
.de UR
. ds m1 \\$1\"
. nh
. if \\n(mH \{\
. \" Start diversion in a new environment.
. do ev URL-div
. do di URL-div
. \}
..
.
.
.\" End URL.
.de UE
. ie \\n(mH \{\
. br
. di
. ev
.
. \" Has there been one or more input lines for the link text?
. ie \\n(dn \{\
. do HTML-NS ""
. \" Yes, strip off final newline of diversion and emit it.
. do chop URL-div
. do URL-div
. do HTML-NS
. \}
. el \
. do HTML-NS "\\*(m1"
\&\\$*\"
. \}
. el \
\\*(la\\*(m1\\*(ra\\$*\"
.
. hy \\n(HY
..
.
.
.\" Start email address.
.de MT
. ds m1 \\$1\"
. nh
. if \\n(mH \{\
. \" Start diversion in a new environment.
. do ev URL-div
. do di URL-div
. \}
..
.
.
.\" End email address.
.de ME
. ie \\n(mH \{\
. br
. di
. ev
.
. \" Has there been one or more input lines for the link text?
. ie \\n(dn \{\
. do HTML-NS ""
. \" Yes, strip off final newline of diversion and emit it.
. do chop URL-div
. do URL-div
. do HTML-NS
. \}
. el \
. do HTML-NS "\\*(m1"
\&\\$*\"
. \}
. el \
\\*(la\\*(m1\\*(ra\\$*\"
.
. hy \\n(HY
..
.\" --- End of lines taken from groff an-ext.tmac
.\}
.
.hy 0
.
.SH NOM
grep, egrep, fgrep, rgrep \- Afficher les lignes correspondant à un motif
donné
.
.SH SYNOPSIS
\fBgrep\fP [\fIOPTION\fP.\|.\|.]\& \fIMOTIF\fP [\fIFICHIER\fP.\|.\|.]
.br
\fBgrep\fP [\fIOPTION\fP.\|.\|.]\& \fB\-e\fP \fIMOTIF\fP \&.\|.\|.\& [\fIFICHIER\fP.\|.\|.]
.br
\fBgrep\fP [\fIOPTION\fP.\|.\|.]\& \fB\-f\fP \fIMOTIF_FICHIER\fP \&.\|.\|.\&
[\fIFICHIER\fP.\|.\|.]
.
.SH DESCRIPTION
\fBgrep\fP cherche un \fIMOTIF\fP dans chaque \fIFICHIER\fP. \fIMOTIF\fP est un ou
plusieurs motifs séparés par un retour à la ligne et \fBgrep\fP affiche chaque
ligne correspondant à un motif. Généralement, \fIMOTIF\fP devrait être entre
guillemets lorsque \fBgrep\fP est utilisé dans un interpréteur de commandes.
.PP
Un fichier «\ \fB\-\fP\ » signifie l'entrée standard. Si aucun \fIFICHIER\fP n'est
donné, les recherches récursives explorent le répertoire de travail et
celles non récursives lisent l'entrée standard.
.PP
Debian fournit aussi les variantes \fBegrep\fP, \fBfgrep\fP et \fBrgrep\fP. Ces
programmes sont respectivement équivalentss aux commandes \fBgrep\ \-E\fP,
\fBgrep\ \-F\fP et \fBgrep\ \-r\fP. 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
\fBgrep\fP avec les options liées.
.
.SH OPTIONS
.SS "Informations générales sur le programme"
.TP
\fB\-\^\-help\fP
Afficher un message d'utilisation et quitter.
.TP
\fB\-V\fP, \fB\-\^\-version\fP
Afficher le numéro de version de \fBgrep\fP et quitter.
.SS "Syntaxe du motif"
.TP
\fB\-E\fP, \fB\-\^\-extended\-regexp\fP
Interpréter le \fIMOTIF\fP comme une expression rationnelle étendue (ERE, voir
ci\-dessous).
.TP
\fB\-F\fP, \fB\-\^\-fixed\-strings\fP
Interpréter le \fIMOTIF\fP comme étant une chaîne figée, pas une expression
rationnelle.
.TP
\fB\-G\fP, \fB\-\^\-basic\-regexp\fP
Interpréter le \fIMOTIF\fP comme une expression rationnelle simple (BRE, voir
ci\-dessous). C'est le comportement par défaut.
.TP
\fB\-P\fP, \fB\-\^\-perl\-regexp\fP
Interpréter le \fIMOTIF\fP comme une expression rationnelle Perl (PCRE). Cette
option est expérimentale quand on la combine à \fB\-z\fP (\fB\-\^\-null\-data\fP) et
\fBgrep \-P\fP pourrait signaler des fonctionnalités non implémentées.
.SS "Contrôle de correspondance"
.TP
\fB\-e\fP \fIMOTIF\fP,\fB \-\^\-regexp=\fP\fIMOTIF\fP
Utiliser \fIMOTIF\fP comme motif. Si cette option est utilisée plusieurs fois
ou en combinaison avec l'option \fB\-f\fP (\fB\-\\^\-file\fP), rechercher les motifs
donnés. Cette option peut être utilisée pour protéger un motif commençant
par\ «\ \-\ ».
.TP
\fB\-f\fP \fIFICHIER\fP,\fB \-\^\-file=\fP\fIFICHIER\fP
Utiliser les motifs depuis \fIFICHIER\fP, un par ligne. Si cette option est
utilisée plusieurs fois ou combinée avec l'option \fB\-e\fP (\fB\-\^\-regexp\fP),
rechercher tous les motifs donnés. Un fichier vide ne contient pas de motif
et ne donne donc aucun résultat.
.TP
\fB\-i\fP, \fB\-\^\-ignore\-case\fP
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.
.TP
\fB\-\^\-no\-ignore\-case\fP
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à \fB\-i\fP d'annuler ses effets puisque les deux
options s'outrepassent entre elles.
.TP
\fB\-v\fP, \fB\-\^\-invert\-match\fP
Inverser la mise en correspondance, pour sélectionner les lignes ne
correspondant pas au motif.
.TP
\fB\-w\fP, \fB\-\^\-word\-regexp\fP
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 \fB\-x\fP
est également spécifié.
.TP
\fB\-x\fP, \fB\-\^\-line\-regexp\fP
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 \fB^\fP et\ \fB$\fP.
.SS "Contrôle général de l'affichage"
.TP
\fB\-c\fP, \fB\-\^\-count\fP
Ne pas afficher les résultats normaux. À la place, afficher un décompte des
lignes correspondant au motif pour chaque fichier. Avec l'option \fB\-v\fP,
\fB\-\^\-invert\-match\fP (voir ci\-dessous), afficher le nombre de lignes ne
contenant pas le motif.
.TP
\fB\-\^\-color\fP[\fB=\fP\fIQUAND\fP], \fB\-\^\-colour\fP[\fB=\fP\fIQUAND\fP]
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 \fBGREP_COLORS\fP. \fIQUAND\fP vaut \fBnever\fP (jamais),
\fBalways\fP (toujours) ou \fBauto\fP.
.TP
\fB\-L\fP, \fB\-\^\-files\-without\-match\fP
Ne pas afficher les résultats normaux. À la place, indiquer le nom des
fichiers pour lesquels aucun résultat n'aurait été affiché.
.TP
\fB\-l\fP, \fB\-\^\-files\-with\-matches\fP
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.
.TP
\fB\-m\fP \fIN\fP, \fB\-\^\-max\-count=\fP\fIN\fP
Arrêter de lire un fichier après avoir trouvé \fIN\fP lignes sélectionnées. Si
\fIN\fP est zéro, \fBgrep\fP s'arrête immédiatement sans lire l'entrée. Une entrée
\fIN\fP de \fB\-1\fP est traitée comme l'infini et \fBgrep\fP 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 \fIN\fP lignes qui correspondent sont affichées, \fBgrep\fP
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 \fBgrep\fP s'arrête après \fIN\fP lignes de concordance, il
affiche toutes les lignes de contexte suivantes. Quand l'option \fB\-c\fP ou
\fB\-\^\-count\fP est utilisée, \fBgrep\fP n'affiche pas plus de \fIN\fP lignes. Quand
l'option \fB\-v\fP ou \fB\-\^\-invert\-match\fP est aussi utilisée, \fBgrep\fP s'arrête
après avoir affiché \fIN\fP lignes qui ne contiennent pas le motif.
.TP
\fB\-o\fP, \fB\-\^\-only\-matching\fP
N'afficher que les parties (non vides) correspondantes des lignes
sélectionnées, chaque partie étant affichée sur une ligne séparée.
.TP
\fB\-q\fP, \fB\-\^\-quiet\fP, \fB\-\^\-silent\fP
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 \fB\-s\fP ou \fB\-\^\-no\-messages\fP.
.TP
\fB\-s\fP, \fB\-\^\-no\-messages\fP
Supprimer les messages d'erreur sur la non existence ou l'illisibilité des
fichiers.
.SS "Contrôle du préfixe à l'affichage"
.TP
\fB\-b\fP, \fB\-\^\-byte\-offset\fP
Afficher l'emplacement dans le fichier (qui commence à l'octet\ 0) devant
chaque ligne de sortie. Si \fB\-o\fP (\fB\-\^\-only\-matching\fP) est spécifiée,
afficher l'emplacement de la partie qui correspond.
.TP
\fB\-H\fP, \fB\-\^\-with\-filename\fP
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 \s-1GNU\s0.
.TP
\fB\-h\fP, \fB\-\^\-no\-filename\fP
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.
.TP
\fB\-\^\-label=\fP\fIÉTIQUETTE\fP
Afficher les données provenant de l'entrée standard comme si elles
provenaient du fichier \fIÉTIQUETTE\fP. C'est particulièrement utile pour des
outils qui modifient le contenu d'un fichier avant la recherche, comme
\fBgzip\ \-cd\ truc.gz\ |grep\ \-\-label=truc\ quelquechose\fP. Consultez également
l'option\ \fB\-H\fP.
.TP
\fB\-n\fP, \fB\-\^\-line\-number\fP
Préfixer chaque ligne de sortie par le numéro, débutant à un, de la ligne
débutant dans le fichier.
.TP
\fB\-T\fP, \fB\-\^\-initial\-tab\fP
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\ : \fB\-H\fP, \fB\-n\fP et
\fB\-b\fP. 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.
.TP
\fB\-Z\fP, \fB\-\^\-null\fP
Afficher un octet NULL (le caractère \s-1ASCII\s0 NULL) à la place du
caractère qui suit d'ordinaire le nom du fichier. Par exemple, \fBgrep\ \-lZ\fP
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 \fBfind\ \-print0\fP, \fBperl\ \-0\fP, \fBsort\ \-z\fP, et \fBxargs\ \-0\fP pour
traiter des fichiers avec des noms quelconques, même ceux contenant des
changements de ligne.
.SS "Contrôle des lignes de contexte"
.TP
\fB\-A\fP \fIN\fP,\fB \-\^\-after\-context=\fP\fIN\fP
Afficher les \fIN\fP lignes qui suivent celles contenant le motif. Une ligne
contenant \fB\-\^\-\fP est insérée entre les groupes contigus de
correspondances. Avec l'option \fB\-o\fP ou \fB\-\^\-only\-matching\fP, ça n'a aucun
effet et un avertissement est affiché.
.TP
\fB\-B\fP \fIN\fP,\fB \-\^\-before\-context=\fP\fIN\fP
Afficher les \fIN\fP lignes qui précèdent celles contenant le motif. Une ligne
contenant \fB\-\^\-\fP est insérée entre les groupes contigus de
correspondances. Avec l'option \fB\-o\fP ou \fB\-\^\-only\-matching\fP, ça n'a aucun
effet et un avertissement est affiché.
.TP
\fB\-C\fP \fIN\fP,\fB \-\fP\fIN\fP,\fB \-\^\-context=\fP\fIN\fP
Afficher \fIN\fP lignes de contexte. Une ligne contenant \fB\-\^\-\fP est insérée
entre les groupes contigus de correspondances. Avec l'option \fB\-o\fP ou
\fB\-\^\-only\-matching\fP, ça n'a aucun effet et un avertissement est affiché.
.TP
\fB\-\^\-group\-separator=\fP\fISEP\fP
Quand les options \fB\-A\fP, \fB\-B\fP ou \fB\-C\fP sont utilisées, afficher \fISEP\fP à la
place de \fB\-\^\-\fP entre les groupes de lignes.
.TP
\fB\-\^\-no\-group\-separator\fP
Quand les options \fB\-A\fP, \fB\-B\fP ou \fB\-C\fP sont utilisées, ne pas afficher de
séparateur entre les groupes de lignes.
.SS "Sélection de fichiers ou répertoires"
.TP
\fB\-a\fP, \fB\-\^\-text\fP
Traiter un fichier binaire comme s'il s'agissait de texte\ ; c'est
l'équivalent de l'option \fB\-\^\-binary\-files=text\fP.
.TP
\fB\-\^\-binary\-files=\fP\fITYPE\fP
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 \fITYPE\fP. 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 \fB\-z\fP n'est pas donnée.
.IP
Par défaut, \fITYPE\fP est un \fBbinary\fP et \fBgrep\fP 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, \fBgrep\fP fait suivre n’importe quelle sortie par un
message sur la sortie d'erreur standard informant de la correspondance d’un
fichier binaire.
.IP
Si \fITYPE\fP vaut \fBwithout\-match\fP, quand \fBgrep\fP 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\ \fB\-I\fP.
.IP
Si \fITYPE\fP vaut \fBtext\fP, \fBgrep\fP traite un fichier binaire comme un fichier
texte\ ; c'est un équivalent de l'option\ \fB\-a\fP.
.IP
Quand \fItype\fP est \fBbinary\fP, \fBgrep\fP peut traiter des données non textuelles
comme des marqueurs de fin de ligne même sans l'option \fB\-z\fP. Cela signifie
que le choix \fBbinary\fP versus \fBtext\fP peut influer sur la correspondance
d'un motif à un fichier. Par exemple, quand \fItype\fP est \fBbinary\fP, le motif
\fBq$\ might\fP correspond à un \fBq\fP suivi immédiatement d'un octet NULL, alors
que cela ne correspond à rien quand \fItype\fP est \fBtext\fP. À l'inverse, quand
\fItype\fP est \fBbinary\fP, \fB.\&\fP (point) pourrait ne pas trouver d'octet NULL.
.IP
\fIAttention\ :\fP l'option \fB\-a\fP 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 \fB\-a\fP
ou de définir \fBLC_ALL='C'\fP dans l'environnement pour trouver plus de
correspondances même si certaines ne sont pas sécurisées pour un affichage
direct.
.TP
\fB\-D\fP \fIACTION\fP,\fB \-\^\-devices=\fP\fIACTION\fP
Si le fichier est un périphérique, une FIFO ou un socket, utiliser \fIACTION\fP
dessus. Par défaut, \fIACTION\fP est \fBread\fP (lecture), ce qui signifie que les
périphériques sont lus comme des fichiers normaux. Si \fIACTION\fP est \fBskip\fP,
les périphériques sont ignorés en silence.
.TP
\fB\-d\fP\fI ACTION\fP,\fB \-\^\-directories=\fP\fIACTION\fP
Si le fichier est un répertoire, utiliser \fIACTION\fP. Par défaut, \fIACTION\fP
est \fBread\fP, ce qui signifie que les répertoires sont lus comme des fichiers
normaux. Si \fIACTION\fP est \fBskip\fP, les répertoires sont ignorés et aucun
message n'est affiché. Si \fIACTION\fP est \fBrecurse\fP, \fBgrep\fP 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\ \fB\-r\fP.
.TP
\fB\-\^\-exclude=\fP\fIGLOB\fP
Sauter tout fichier sur la ligne de commande dont le suffixe du nom
correspond au motif \fIGLOB\fP, 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 (\fB/\fP) dans un nom. Lors d'une recherche récursive, sauter tous les
sous\-fichiers dont le nom de base correspond à \fIGLOB\fP\ ; le nom de base est
la partie après la dernière barre oblique. Un motif peut utiliser \fB*\fP, \fB?\fP
et \fB[\fP.\|.\|.\fB]\&\fP comme jocker et \fB\e\fP pour interpréter littéralement
les caractères joker ou barre oblique inversée.
.TP
\fB\-\^\-exclude\-from=\fP\fIFICHIER\fP
Sauter les fichiers dont le nom de fichier correspond à un des motifs
contenus dans le \fIFICHIER\fP (en utilisant les jokers comme décrit pour
\fB\-\^\-exclude\fP).
.TP
\fB\-\^\-exclude\-dir=\fP\fIGLOB\fP
Sauter tout répertoire sur la ligne de commande dont le suffixe de nom
correspond au motif \fIGLOB\fP. Lors d'une recherche récursive, sauter tout
sous\-répertoire dont le nom de base correspond à \fIGLOB\fP. Ignorer les barres
obliques redondantes finales dans \fIGLOB\fP.
.TP
\fB\-I\fP
Traiter un fichier binaire comme s'il ne contenait aucune correspondance\ ;
c'est équivalent à l'option \fB\-\^\-binary\-files=without\-match\fP.
.TP
\fB\-\^\-include=\fP\fIGLOB\fP
Ne rechercher que les fichiers dont le nom correspond à \fIGLOB\fP (en
utilisant des jokers correspondant comme décrit sous \fB\-\^\-exclude\fP). Si
vous donnez des options \fB\-\^\-include\fP et \fB\-\^\-eclude\fP contradictoires, la
dernière correspondance gagne. Si ni \fB\-\^\-include\fP, ni \fB\-\^\-exclude\fP ne
correspondent, un fichier est inclus à la recherche sauf si la première est
\fB\-\^\-include\fP.
.TP
\fB\-r\fP, \fB\-\^\-recursive\fP
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, \fBgrep\fP
recherche dans le répertoire courant. C'est l'équivalent de l'option
\fB\-d\ recurse\fP.
.TP
\fB\-R\fP, \fB\-\^\-dereference\-recursive\fP
Lire récursivement tous les fichiers à l'intérieur de chaque
répertoire. Suivre tous les liens symboliques, contrairement à\ \fB\-r\fP.
.SS "Autres options"
.TP
\fB\-\^\-line\-buffered\fP
Utiliser un tampon de ligne sur le flux de sortie. Cela peut réduire les
performances.
.TP
\fB\-U\fP, \fB\-\^\-binary\fP
Traiter les fichiers comme s'ils étaient des fichiers binaires. Par défaut,
sous \s-1MS\-DOS\s0 et \s-1MS\s0\-Windows, \fBgrep\fP détermine le type de
fichier comme cela est décrit pour l'option \fB\-\^\-binary\-files\fP. Si \fBgrep\fP
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 \fB^\fP et
\fB$\fP fonctionnent correctement). L'option \fB\-U\fP 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 \s-1MS\-DOS\s0 et \s-1MS\s0\-Windows.
.TP
\fB\-z\fP, \fB\-\^\-null\-data\fP
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 \s-1ASCII\s0 NULL) au lieu
d'un changement de ligne. Comme l'option \fB\-Z\fP ou \fB\-\-null\fP, cette option
peut être combinée avec des commandes comme \fBsort\ \-z\fP pour traiter des
fichiers ayant un nom quelconque.
.
.SH "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.
.PP
\fBGrep\fP gère trois styles de syntaxe pour les expressions rationnelles\ : «\ simple\ » (\fIbasic\fP, BRE), «\ étendue\ » (\fIextended\fP, ERE) et «\ \fIPerl\fP\ »
(PCRE). Dans la version \s-1GNU\s0 de \fBgrep\fP, il n'y a pas de différence
dans les fonctionnalités disponibles pour les styles \fIbasic\fP et
\fIextended\fP. 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 \fBpcre2syntax\fP(3)
et \fBpcre2pattern\fP(3), mais ne fonctionnent que si les PCRE sont disponibles
sur le système.
.PP
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 (\fIbackslash\fP).
.PP
Le point \fB.\&\fP correspond à n'importe quel caractère. Il n'est pas spécifié
s’il correspond avec une erreur d'encodage.
.SS "Classes de caractères et expressions entre crochets"
Une \fIexpression entre crochets\fP est une liste de caractères encadrée par un
\fB[\fP et un \fB]\fP. Elle est en correspondance avec n'importe quel caractère
appartenant à la liste. Si le premier caractère de la liste est un caret «\ \fB^\fP\ », alors la mise en correspondance se fait avec n'importe quel
caractère \fIabsent\fP de la liste\ ; il n'est pas spécifié s'il correspond avec
une erreur d'encodage. Par exemple, l'expression rationnelle \fB[0123456789]\fP
concorde avec n'importe quel chiffre.
.PP
Entre ces crochets, un \fIintervalle\fP 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 (\fIlocale\fP, en anglais)
actuels. Ainsi, avec les paramètres par défaut («\ C\ »), \fB[a\-d]\fP est
équivalent à \fB[abcd]\fP. Avec beaucoup de paramètres régionaux, les
caractères sont triés en suivant l'ordre des dictionnaires, et \fB[a\-d]\fP
n'est alors en général pas équivalent à \fB[abcd]\fP, mais peut l'être à
\fB[aBbCcDd]\fP, par exemple. Pour que ces listes aient le comportement
habituel de «\ C\ », vous pouvez positionner la variable d'environnement
\fBLC_ALL\fP à la valeur\ \fBC\fP.
.PP
Enfin, certaines classes de caractères prédéfinies existent à l'intérieur de
crochets comme suit. Leurs noms sont assez explicites\ : \fB[:alnum:]\fP,
\fB[:alpha:]\fP, \fB[:blank:]\fP, \fB[:cntrl:]\fP, \fB[:digit:]\fP (chiffres),
\fB[:graph:]\fP, \fB[:lower:]\fP (minuscules), \fB[:print:]\fP (affichables),
\fB[:punct:]\fP (ponctuation), \fB[:space:]\fP (espace), \fB[:upper:]\fP
(majuscules), et \fB[:xdigit:]\fP (chiffres hexadécimaux). Par exemple,
\fB[[:alnum:]]\fP 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 \s-1ASCII\s0, c'est équivalent à \fB[0\-9A\-Za\-z]\fP. 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 \fB]\fP, mettez\-le en premier dans la
liste. De même, pour inclure un caractère \fB^\fP, placez\-le n'importe où sauf
au début de la liste. Enfin, pour inclure un \fB\-\fP, placez\-le en dernier.
.SS Ancrage
Le caret «\ \fB^\fP\ » et le symbole dollar «\ \fB$\fP\ » sont des métacaractères
correspondant respectivement à une chaîne vide au début et en fin de ligne.
.SS "Caractère contre\-oblique et expressions spéciales"
Les symboles \fB\e<\fP et \fB\e>\fP correspondent respectivement à une
chaîne vide en début et en fin de mot. Le symbole \fB\eb\fP correspond à une
chaîne vide à l'extrémité d'un mot, et \fB\eB\fP correspond à une chaîne vide
ne se trouvant \fIpas\fP à une extrémité de mot. Le symbole \fB\ew\fP est un
synonyme pour \fB[_[:alnum:]]\fP et \fB\eW\fP est un synonyme pour
\fB[^_[:alnum:]]\fP.
.SS Répétitions
Dans une expression rationnelle, un caractère peut être suivi par l'un des
opérateurs de répétition suivants\ :
.PD 0
.TP
\fB?\fP
L'élément précédent est facultatif et peut être rencontré au plus une fois.
.TP
\fB*\fP
L'élément précédent peut être rencontré zéro ou plusieurs fois.
.TP
\fB+\fP
L'élément précédent peut être rencontré une ou plusieurs fois.
.TP
\fB{\fP\fIn\fP\fB}\fP
L'élément précédent doit correspondre exactement \fIn\fP fois.
.TP
\fB{\fP\fIn\fP\fB,}\fP
L'élément précédent doit correspondre \fIn\fP fois ou plus.
.TP
\fB{,\fP\fIm\fP\fB}\fP
L'élément précédent doit correspondre au plus \fIm\fP fois. C’est une extension
\s-1GNU\s0.
.TP
\fB{\fP\fIn\fP\fB,\fP\fIm\fP\fB}\fP
L'élément précédent doit correspondre au moins \fIn\fP fois, mais au plus \fIm\fP
fois.
.PD
.SS 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.
.SS Alternatives
Deux expressions rationnelles peuvent être reliées par l'opérateur infixe
\fB|\fP\ ; l'expression résultante correspondra à toute chaîne qui comporte
l'une ou l'autre des deux expressions.
.SS 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.
.SS "Références arrières et sous\-expressions"
La référence arrière \fB\e\fP\fIn\fP \&, où \fIn\fP est un chiffre unique, correspond
à la sous\-chaîne déjà mise en correspondance avec la \fIn\fP\-ième
sous\-expression rationnelle entre parenthèses.
.SS "Expressions rationnelles basiques et étendues"
Dans les expressions rationnelles simples, les métacaractères \fB?\fP, \fB+\fP,
\fB{\fP, \fB|\fP, \fB(\fP, et \fB)\fP perdent leur signification spéciale, il faut
utiliser à la place leur version avec la contre\-oblique \fB\e?\fP, \fB\e+\fP,
\fB\e{\fP, \fB\e|\fP, \fB\e(\fP, et \fB\e)\fP.
.
.SH "CODE DE RETOUR"
Normalement, le code de retour est \fB0\fP si des concordances ont été
trouvées, \fB1\fP si aucune concordance n'a été trouvée et \fB2\fP si une erreur
est survenue. Toutefois, si les options \fB\-q\fP, \fB\-\^\-quiet\fP ou \fB\-\^\-silent\fP
sont utilisées et si une ligne est trouvée, le code de retour est \fB0\fP même
si une erreur est survenue.
.
.SH ENVIRONNEMENT
Le comportement de \fBgrep\fP est modifié par les variables d'environnement
suivantes\ :
.PP
Les paramètres régionaux pour la catégorie \fBLC_\fP\fItruc\fP sont définis par
les trois variables d'environnement \fBLC_ALL\fP, \fBLC_\fP\fItruc\fP, \fBLANG\fP, dans
cet ordre. La variable positionnée en premier détermine le choix des
paramètres régionaux. Par exemple, si \fBLC_ALL\fP n'est pas positionnée, mais
\fBLC_MESSAGES\fP vaut \fBfr_FR\fP, 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 \fBgrep\fP a été compilé sans le support pour les
langues nationales (\s-1NLS\s0). La commande \fBlocale\ \-a\fP liste les
paramètres régionaux actuellement disponibles.
.TP
\fBGREP_COLORS\fP
Contrôler la manière dont l'option '\fB\-\^\-color\fP 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 \fBms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36\fP
sans les capacités booléennes \fBrv\fP et \fBne\fP (qui prennent alors la valeur
«\ false\ », faux). Les capacités prises en charge sont les suivantes\ :
.RS
.TP
\fBsl=\fP
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 \fB\-v\fP n'est pas utilisée, ou les lignes qui ne
correspondent pas quand \fB\-v\fP est spécifiée). Si cependant la capacité
booléenne \fBrv\fP et l'option en ligne de commande \fB\-v\fP 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).
.TP
\fBcx=\fP
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 \fB\-v\fP
n'est pas utilisée, ou les lignes qui correspondent quand \fB\-v\fP est
indiquée). Si cependant la capacité booléenne \fBrv\fP et l'option en ligne de
commande \fB\-v\fP 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).
.TP
\fBrv\fP
Valeur booléenne qui inverse la signification des capacités \fBsl=\fP et \fBcx=\fP
quand l’option de ligne de commande \fB\-v\fP est indiquée. La valeur par défaut
est le booléen faux (c'est\-à\-dire la capacité est omise).
.TP
\fBmt=01;31\fP
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 \fB\-v\fP n'est pas utilisée, ou une ligne de contexte quand \fB\-v\fP
est spécifiée). L'utiliser est équivalent à utiliser à la fois \fBms=\fP et
\fBmc=\fP avec la même valeur. La valeur par défaut correspond à du texte rouge
en gras sur le fond de la ligne actuelle.
.TP
\fBms=01;31\fP
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 \fB\-v\fP
n'est pas utilisée). L'effet de la capacité \fBsl=\fP (ou \fBcx=\fP si \fBrv\fP 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.
.TP
\fBmc=01;31\fP
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 \fB\-v\fP
n'est pas utilisée). L'effet de la capacité \fBcx=\fP (ou \fBsl=\fP si \fBrv\fP 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.
.TP
\fBfn=35\fP
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.
.TP
\fBln=32\fP
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.
.TP
\fBbn=32\fP
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.
.TP
\fBse=36\fP
Sous\-chaîne SGR pour les séparateurs qui sont insérés entre les champs des
lignes sélectionnées (\fB:\fP), entre les champs des lignes de contexte (\fB\-\fP)
et entre les groupes de lignes adjacentes quand un contexte non nul est
spécifié (\fB\-\^\-\fP). La valeur par défaut correspond à du texte de couleur
cyan sur le fond par défaut du terminal.
.TP
\fBne\fP
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 (\fB\e\33[K\fP) à 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 «\ \fBback_color_erase\fP\ » (\fBbce\fP) 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).
.PP
Notez que les capacités booléennes n'ont pas de partie «\ \fB=\fP...\ ». Elles
sont omises par défaut (ce qui correspond à une valeur booléenne faux) et
deviennent vrai si elles sont précisées.
.PP
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. \fBgrep\fP se charge d'assembler le résultat en une séquence
SGR complète (\fB\e\33[\fP...\fBm\fP). Les valeurs courantes à concaténer sont
entre autres \fB1\fP (gras), \fB4\fP (souligné), \fB5\fP (clignotant), \fB7\fP
(inversé), \fB39\fP (couleur de trait par défaut), \fB30\fP à \fB37\fP (couleurs de
trait), \fB90\fP à \fB97\fP (couleurs de trait en mode 16\ couleurs), \fB38;5;0\fP à
\fB38;5;255\fP (couleurs de trait en mode 88 et 256\ couleurs), \fB49\fP (couleur
de fond par défaut), \fB40\fP à \fB47\fP (couleurs de fond), \fB100\fP à \fB107\fP
(couleurs de fond en mode 16\ couleurs) et \fB48;5;0\fP à \fB48;5;255\fP (couleurs
de fond en mode 88 et 256\ couleurs).
.RE
.TP
\fBLC_ALL\fP, \fBLC_COLLATE\fP, \fBLANG\fP
Ces variables indiquent le choix des paramètres régionaux pour la catégorie
\fBLC_COLLATE\fP, qui détermine l'ordre des caractères utilisé pour
l'interprétation des intervalles tels que \fB[a\-z]\fP.
.TP
\fBLC_ALL\fP, \fBLC_CTYPE\fP, \fBLANG\fP
Ces variables spécifient les paramètres régionaux de la catégorie
\fBLC_CTYPE\fP, 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.
.TP
\fBLC_ALL\fP, \fBLC_MESSAGES\fP, \fBLANG\fP
Ces variables indiquent le choix des paramètres régionaux pour la catégorie
\fBLC_MESSAGES\fP, qui détermine la langue utilisée par \fBgrep\fP pour ses
messages. Les paramètres «\ C\ » utilisés par défaut sont en anglais
américain.
.TP
\fBPOSIXLY_CORRECT\fP
Si cette variable est positionnée, \fBgrep\fP se comporte comme indiqué dans la
norme \s-1POSIX\s0. Sinon, \fBgrep\fP se comporte plus comme les autres
programmes \s-1GNU\s0. \s-1POSIX\s0 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. \s-1POSIX\s0 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. \fBPOSIXLY_CORRECT\fP désactive aussi l'option
\fB_\fP\fIN\fP\fB_GNU_nonoption_argv_flags_\fP, qui est décrite plus bas.
.TP
\fB_\fP\fIN\fP\fB_GNU_nonoption_argv_flags_\fP
(Ici, \fIN\fP est l'identifiant numérique du processus de \fBgrep\fP). Si le
\fIi\fP\-ième caractère de la valeur de cette variable d'environnement vaut
\fB1\fP, le \fIi\fP\-ième opérande de \fBgrep\fP 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 \s-1GNU\s0, et seulement si \fBPOSIXLY_CORRECT\fP n'est pas
positionnée.
.
.SH NOTES
Cette page de manuel est maintenue de façon intermittente. La documentation
complète est mise à jour plus souvent.
.
.SH COPYRIGHT
Copyright 1998\-2000, 2002, 2005\-2022 Free Software Foundation, Inc.
.PP
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.
.
.SH BOGUES
.SS "Remonter des bogues"
Envoyez par courriel les signalements de bogues à
.MT bug\-grep@gnu.org
l'adresse
.ME .
Une
.UR https://lists.gnu.org/mailman/listinfo/bug\-grep
archive de courrier
électronique
.UE
et un
.UR https://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep
gestionnaire de
bogues
.UE
sont disponibles.
.SS "Bogues connus"
Dans les constructions \fB{\fP\fIn\fP\fB,\fP\fIm\fP\fB}\fP de grandes valeurs de répétition
peuvent pousser \fBgrep\fP à utiliser beaucoup de mémoire. D'autres expressions
rationnelles tordues peuvent prendre un temps très long et mener à une
insuffisance de mémoire.
.PP
Les références arrières sont très lentes et peuvent demander un temps très
important (exponentiel).
.
.SH 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 \fB\-n\fP affiche les numéros de ligne, l'argument \fB\-\-\fP traite
les expansions de «\ *g*.h\ » commençant par «\ \-\ » comme des noms de fichier,
pas des options, et le fichier \fI/dev/null\fP fait en sorte que les noms de
fichier soient affichés même si un seul nom de fichier a la forme «\ *g*.h\ ».
.PP
.in +2n
.EX
$ \fBgrep\fP \-n \-\- 'f.*\e.c$' *g*.h /dev/null
argmatch.h:1:/* definitions and prototypes for argmatch.c
.EE
.in
.PP
La seule ligne qui correspond est la première ligne
d'\fIargmatch.h\fP. 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.
.
.SH "VOIR AUSSI"
.SS "Pages de manuel"
\fBawk\fP(1), \fBcmp\fP(1), \fBdiff\fP(1), \fBfind\fP(1), \fBperl\fP(1), \fBsed\fP(1),
\fBsort\fP(1), \fBxargs\fP(1), \fBread\fP(2), \fBpcre\fP(3), \fBpcresyntax\fP(3),
\fBpcrepattern\fP(3), \fBterminfo\fP(5), \fBglob\fP(7), \fBregex\fP(7)
.SS "Documentation complète"
Un
.UR https://www.gnu.org/software/grep/manual/
manuel complet
.UE
est disponible. Si les programmes \fBinfo\fP et \fBgrep\fP sont correctement
installés sur votre système, la commande
.IP
\fBinfo grep\fP
.PP
devrait vous donner accès au manuel complet.
.
.\" Work around problems with some troff -man implementations.
.br
.
.\" Format for Emacs-maintained Dt string defined at this file's start.
.\" Local variables:
.\" time-stamp-format: "%:y-%02m-%02d"
.\" End:
.PP
.SH TRADUCTION
La traduction française de cette page de manuel a été créée par
Luc Froidefond ,
Nicolas François ,
Florentin Duneau ,
David Prévot ,
Cédric Boutillier ,
Jean-Philippe MENGUAL
et
Jean-Pierre Giraud
.
.PP
Cette traduction est une documentation libre ; veuillez vous reporter à la
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License version 3
.UE
concernant les conditions de copie et
de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
.PP
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
.MT debian-l10n-french@lists.debian.org
.ME .