Man page - rgrep(1)
Packages contains this manual
Available languages:
en fr pt_BR es pl nl sv uk ru ro deManual
GREP
NOMSYNOPSIS
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 .