Man page - rgrep(1)

Packages contains this manual

Available languages:

en fr pt_BR es pl nl sv uk ru ro de

Manual

GREP

NOM
SYNOPSIS
DESCRIPTION
OPTIONS
Informations générales sur le programme
Syntaxe du motif
ContrĂŽle de correspondance
ContrĂŽle gĂ©nĂ©ral de l’affichage
ContrĂŽle du prĂ©fixe Ă  l’affichage
ContrĂŽle des lignes de contexte
Sélection de fichiers ou répertoires
Autres options
EXPRESSIONS RATIONNELLES
Classes de caractĂšres et expressions entre crochets
Ancrage
CaractÚre contre-oblique et expressions spéciales
Répétitions
Concaténations
Alternatives
Priorités
Références arriÚres et sous-expressions
Expressions rationnelles basiques et étendues
CODE DE RETOUR
ENVIRONNEMENT
NOTES
COPYRIGHT
BOGUES
Remonter des bogues
Bogues connus
EXEMPLE
VOIR AUSSI
Pages de manuel
Documentation complĂšte
TRADUCTION

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 . Une archive de courrier Ă©lectronique et un gestionnaire de bogues 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 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 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 .