Provided by: manpages-fr_4.26.0-1_all 

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. Si le FICHIER est -, lire les motifs à
partir de l'entrée standard.
-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 un 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 --exclude
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, les expressions rationnelles
de style basic et extended sont simplement des notations différentes pour la même fonctionnalité de
correspondance de motif. Dans d'autres implémentations, les expressions rationnelles basic sont
normalement moins puissantes que les extended, bien que parfois ce soit le contraire. 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 différentes 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 à n'importe quel caractère compris entre les deux caractères inclus, l'ordre des caractères
dépendant des paramètres régionaux (locale, en anglais) actuels. Ainsi, avec les paramètres locaux 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 toute ligne qui correspond
(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.
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-2023 Free Software Foundation, Inc.
C'est un logiciel libre ; consultez les sources pour les conditions de copie. Il n'y a AUCUNE garantie ;
même pas de VALEUR MARCHANDE ou d'ADÉQUATION À UNE UTILISATION PARTICULIÈRE.
BOGUES
Remonter des bogues
Envoyez par courriel les signalements de bogues à l'adresse ⟨bug-grep@gnu.org⟩. Une archive de courrier
électronique ⟨https://lists.gnu.org/mailman/listinfo/bug-grep⟩ et un gestionnaire de bogues
⟨https://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep⟩ sont disponibles.
Bogues connus
Dans les constructions {n,m} de grandes valeurs de répétition peuvent pousser grep à utiliser beaucoup de
mémoire. D'autres expressions rationnelles tordues peuvent prendre un temps très long et mener à une
insuffisance de mémoire.
Les références arrières sont très lentes et peuvent demander un temps très important (exponentiel).
EXEMPLE
L'exemple suivant affiche l'emplacement et le contenu de n'importe quelle ligne contenant « f » et se
terminant par « .c » dans tous les fichiers du répertoire courant dont le nom contient « g » et se
termine par « .h ». L'option -n affiche les numéros de ligne, l'argument -- traite les expansions de
« *g*.h » commençant par « - » comme des noms de fichier, pas des options, et le fichier /dev/null fait
en sorte que les noms de fichier soient affichés même si un seul nom de fichier a la forme « *g*.h ».
$ grep -n -- 'f.*\.c$' *g*.h /dev/null
argmatch.h:1:/* definitions and prototypes for argmatch.c
La seule ligne qui correspond est la première ligne d'argmatch.h. Remarquez que la syntaxe de
l'expression rationnelle utilisée dans le motif diffère de celle avec des jokers (glob) utilisée par
l'interpréteur pour les correspondances de noms de fichier.
VOIR AUSSI
Pages de manuel
awk(1), cmp(1), diff(1), find(1), perl(1), sed(1), sort(1), xargs(1), read(2), pcre(3), pcresyntax(3),
pcrepattern(3), terminfo(5), glob(7), regex(7)
Documentation complète
Un manuel complet ⟨https://www.gnu.org/software/grep/manual/⟩ est disponible. Si les programmes info et
grep sont correctement installés sur votre système, la commande
info grep
devrait vous donner accès au manuel complet.
TRADUCTION
La traduction française de cette page de manuel a été créée par Luc Froidefond <luc.froidefond@free.fr>,
Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, David Prévot
<david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com>, Jean-Philippe MENGUAL
<jpmengual@debian.org> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License
version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant les conditions de copie et de
distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à
⟨debian-l10n-french@lists.debian.org⟩.
GNU grep 3.11 2019-12-29 GREP(1)