GREP(1) Commandes de l'utilisateur GREP(1) NOM grep - Afficher les lignes correspondant a un motif donne 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 separes par un retour a la ligne et grep affiche chaque ligne correspondant a un motif. Generalement, MOTIF devrait etre entre guillemets lorsque grep est utilise dans un interpreteur de commandes. Un fichier << - >> signifie l'entree standard. Si aucun FICHIER n'est donne, les recherches recursives explorent le repertoire de travail et celles non recursives lisent l'entree standard. OPTIONS Informations generales sur le programme --help Afficher un message d'utilisation et quitter. -V, --version Afficher le numero de version de grep et quitter. Syntaxe du motif -E, --extended-regexp Interpreter le MOTIF comme une expression rationnelle etendue (ERE, voir ci-dessous). -F, --fixed-strings Interpreter le MOTIF comme etant une chaine figee, pas une expression rationnelle. -G, --basic-regexp Interpreter le MOTIF comme une expression rationnelle simple (BRE, voir ci-dessous). C'est le comportement par defaut. -P, --perl-regexp Interpreter le MOTIF comme une expression rationnelle Perl (PCRE). Cette option est experimentale quand on la combine a -z (--null-data) et grep -P pourrait signaler des fonctionnalites non implementees. Controle de correspondance -e MOTIF, --regexp=MOTIF Utiliser MOTIF comme motif. Si cette option est utilisee plusieurs fois ou en combinaison avec l'option -f (-\^-file), rechercher les motifs donnes. Cette option peut etre utilisee pour proteger un motif commencant par << - >>. -f FICHIER, --file=FICHIER Utiliser les motifs depuis FICHIER, un par ligne. Si cette option est utilisee plusieurs fois ou combinee avec l'option -e (--regexp), rechercher tous les motifs donnes. Un fichier vide ne contient pas de motif et ne donne donc aucun resultat. Si le FILE est -, lire les motifs a partir de l'entree standard. -i, --ignore-case Ignorer les distinctions de casse dans les motifs et les donnees d'entree, pour que les correspondances incluent les caracteres qui ne different que par leur casse. --no-ignore-case Ne pas ignorer les distinctions de casse dans les motifs et les donnees d'entree, c'est le comportement par defaut. Cette option sert a dire aux scripts shell qui utilisent deja -i d'annuler ses effets puisque les deux options s'outrepassent entre elles. -v, --invert-match Inverser la mise en correspondance, pour selectionner les lignes ne correspondant pas au motif. -w, --word-regexp Ne selectionner que les lignes contenant des correspondances formant des mots complets. La sous-chaine correspondante doit donc soit se trouver au debut de la ligne, soit etre precedee d'un caractere ne pouvant entrer dans la constitution d'un mot. De meme, elle doit soit se trouver a la fin de la ligne, soit etre suivie par un caractere ne pouvant entrer dans la constitution d'un mot. Les caracteres composant les mots sont les lettres, les chiffres et le souligne << _ >>. Cette option est sans effet si -x est egalement specifie. -x, --line-regexp Ne selectionner que les correspondances exactes de ligne entiere. Pour un motif d'expression rationnelle, c'est comme si on met le motif entre parentheses et qu'on l'ancre entre ^ et $. Controle general de l'affichage -c, --count Ne pas afficher les resultats normaux. A la place, afficher un decompte 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 chaines (non vides) des correspondances, les lignes qui correspondent, les lignes de contexte, les noms de fichiers, les numeros de lignes, les positions relatives en octets et les separateurs (pour les champs et groupes de lignes de contexte) avec des sequences d'echappement pour les afficher en couleur sur le terminal. Les couleurs sont definies par la variable d'environnement GREP_COLORS. QUAND vaut never (jamais), always (toujours) ou auto. -L, --files-without-match Ne pas afficher les resultats normaux. A la place, indiquer le nom des fichiers pour lesquels aucun resultat n'aurait ete affiche. -l, --files-with-matches Ne pas afficher les resultats normaux. A la place, indiquer le nom des fichiers pour lesquels un resultat aurait ete affiche. La recherche dans chaque fichier cesse des la premiere correspondance. -m N, --max-count=N Arreter de lire un fichier apres avoir trouve N lignes selectionnees. Si N est zero, grep s'arrete immediatement sans lire l'entree. Une entree N de -1 est traitee comme l'infini et grep ne s'arrete pas ; c'est la valeur par defaut. Si l'entree est l'entree standard prise depuis un fichier normal, et si N lignes qui correspondent sont affichees, grep s'assure avant de s'arreter que l'entree standard est positionnee juste apres la derniere ligne qui concorde, meme s'il y a des lignes de contexte supplementaires. Cela permet au processus d'appel de redemarrer une recherche. Quand grep s'arrete apres N lignes de concordance, il affiche toutes les lignes de contexte suivantes. Quand l'option -c ou --count est utilisee, grep n'affiche pas plus de N lignes. Quand l'option -v ou --invert-match est aussi utilisee, grep s'arrete apres avoir affiche N lignes qui ne contiennent pas le motif. -o, --only-matching N'afficher que les parties (non vides) correspondantes des lignes selectionnees, chaque partie etant affichee sur une ligne separee. -q, --quiet, --silent Silencieux ; ne rien ecrire sur la sortie standard. Quitter immediatement avec un code zero si une correspondance a ete trouvee meme si une erreur a ete detectee. Voir aussi l'option -s ou --no-messages. -s, --no-messages Supprimer les messages d'erreur sur la non existence ou l'illisibilite des fichiers. Controle du prefixe a l'affichage -b, --byte-offset Afficher l'emplacement dans le fichier (qui commence a l'octet 0) devant chaque ligne de sortie. Si -o (--only-matching) est specifiee, afficher l'emplacement de la partie qui correspond. -H, --with-filename Afficher le nom du fichier pour chaque correspondance. C'est le comportement par defaut quand la recherche est effectuee sur plusieurs fichiers. C'est une extension GNU. -h, --no-filename Ne pas afficher le nom des fichiers au debut des lignes qui correspondent. C'est le comportement par defaut quand il n'y a qu'un fichier (ou que l'entree standard) dans lequel effectuer la recherche. --label=ETIQUETTE Afficher les donnees provenant de l'entree standard comme si elles provenaient du fichier ETIQUETTE. C'est particulierement utile pour des outils qui modifient le contenu d'un fichier avant la recherche, comme gzip -cd truc.gz |grep --label=truc quelquechose. Consultez egalement l'option -H. -n, --line-number Prefixer chaque ligne de sortie par le numero, debutant a un, de la ligne debutant dans le fichier. -T, --initial-tab S'assurer que le premier caractere correspondant au contenu reel de la ligne est place a un emplacement d'arret d'une tabulation, pour que l'alignement des tabulations paraisse normal. Cela est utile avec les options qui utilisent un prefixe avant le contenu reel de la ligne : -H, -n et -b. Pour augmenter la probabilite que toutes les lignes d'un fichier commencent a la meme colonne, cela force aussi le numero de ligne et l'emplacement (s'ils sont presents) a etre affiches dans un champ de taille minimale. -Z, --null Afficher un octet NULL (le caractere ASCII NULL) a la place du caractere qui suit d'ordinaire le nom du fichier. Par exemple, grep -lZ affiche un octet NULL apres chaque nom de fichier, a la place du changement de ligne. Cette option permet de rendre la sortie non ambigue, meme quand les noms de fichiers contiennent des caracteres inhabituels, comme des changements de ligne. Cette option peut etre utilisee avec des commandes telles que find -print0, perl -0, sort -z, et xargs -0 pour traiter des fichiers avec des noms quelconques, meme ceux contenant des changements de ligne. Controle des lignes de contexte -A N, --after-context=N Afficher les N lignes qui suivent celles contenant le motif. Une ligne contenant -- est inseree entre les groupes contigus de correspondances. Avec l'option -o ou --only-matching, ca n'a aucun effet et un avertissement est affiche. -B N, --before-context=N Afficher les N lignes qui precedent celles contenant le motif. Une ligne contenant -- est inseree entre les groupes contigus de correspondances. Avec l'option -o ou --only-matching, ca n'a aucun effet et un avertissement est affiche. -C N, -N, --context=N Afficher N lignes de contexte. Une ligne contenant -- est inseree entre les groupes contigus de correspondances. Avec l'option -o ou --only-matching, ca n'a aucun effet et un avertissement est affiche. --group-separator=SEP Quand les options -A, -B ou -C sont utilisees, afficher SEP a la place de -- entre les groupes de lignes. --no-group-separator Quand les options -A, -B ou -C sont utilisees, ne pas afficher de separateur entre les groupes de lignes. Selection de fichiers ou repertoires -a, --text Traiter un fichier binaire comme s'il s'agissait de texte ; c'est l'equivalent de l'option --binary-files=text. --binary-files=TYPE Si les donnees ou les metadonnees d'un fichier indiquent qu'il contient des donnees binaires, supposer que le fichier est de type TYPE. Les donnees non textuelles indiquent que le fichier est binaire ; ce sont soit des octets affiches mal encodes pour la locale, soit des octets NULL quand l'option -z n'est pas donnee. Par defaut, TYPE est un binary et grep supprime l'affichage apres avoir trouve des donnees NULL dans le binaire d'entree et il supprime les lignes qui contiennent des donnees mal encodees. Lorsqu'une partie de la sortie est supprimee, 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 donnees NULL de binaire d'entree, il suppose que le reste du fichier ne correspond pas a la recherche ; c'est un equivalent de l'option -I. Si TYPE vaut text, grep traite un fichier binaire comme un fichier texte ; c'est un equivalent de l'option -a. Quand type est binary, grep peut traiter des donnees non textuelles comme des marqueurs de fin de ligne meme sans l'option -z. Cela signifie que le choix binary versus text peut influer sur la correspondance d'un motif a un fichier. Par exemple, quand type est binary, le motif q$ might correspond a un q suivi immediatement d'un octet NULL, alors que cela ne correspond a rien quand type est text. A l'inverse, quand type est binary, . (point) pourrait ne pas trouver d'octet NULL. Attention : l'option -a pourrait afficher des dechets de binaire et avoir des effets indesirables si la sortie est le terminal et que le pilote du terminal les interprete comme des commandes. D'un autre cote, quand on lit des fichiers a l'encodage inconnu, il peut etre utile d'utiliser -a ou de definir LC_ALL='C' dans l'environnement pour trouver plus de correspondances meme si certaines ne sont pas securisees pour un affichage direct. -D ACTION, --devices=ACTION Si le fichier est un peripherique, une FIFO ou un socket, utiliser ACTION dessus. Par defaut, ACTION est read (lecture), ce qui signifie que les peripheriques sont lus comme des fichiers normaux. Si ACTION est skip, les peripheriques sont ignores en silence. -d ACTION, --directories=ACTION Si le fichier est un repertoire, utiliser ACTION. Par defaut, ACTION est read, ce qui signifie que les repertoires sont lus comme des fichiers normaux. Si ACTION est skip, les repertoires sont ignores et aucun message n'est affiche. Si ACTION est recurse, grep lit tous les fichiers presents dans chaque repertoire, recursivement, en ne suivant que les liens symboliques indiques sur la ligne de commande. C'est equivalent a 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 caractere, n'etant pas une barre oblique, immediatement apres une barre oblique (/) dans un nom. Lors d'une recherche recursive, sauter tous les sous-fichiers dont le nom de base correspond a GLOB ; le nom de base est la partie apres la derniere barre oblique. Un motif peut utiliser *, ? et [...] comme jocker et \ pour interpreter litteralement les caracteres joker ou barre oblique inversee. --exclude-from=FICHIER Sauter les fichiers dont le nom de fichier correspond a un des motifs contenus dans le FICHIER (en utilisant les jokers comme decrit pour --exclude). --exclude-dir=GLOB Sauter tout repertoire sur la ligne de commande dont le suffixe de nom correspond au motif GLOB. Lors d'une recherche recursive, sauter tout sous-repertoire dont le nom de base correspond a GLOB. Ignorer les barres obliques redondantes finales dans GLOB. -I Traiter un fichier binaire comme s'il ne contenait aucune correspondance ; c'est equivalent a l'option --binary-files=without-match. --include=GLOB Ne rechercher que les fichiers dont le nom correspond a GLOB (en utilisant des jokers correspondant comme decrit sous --exclude). Si vous donnez des options --include et --eclude contradictoires, la derniere correspondance gagne. Si ni --include, ni --exclude ne correspondent, un fichier est inclus a la recherche sauf si la premiere est --include. -r, --recursive Lire recursivement tous les fichiers a l'interieur de chaque repertoire, en ne suivant les liens symboliques que s'ils sont indiques sur la ligne de commande. Remarquez que si vous ne donnez aucun operande de fichier, grep recherche dans le repertoire courant. C'est l'equivalent de l'option -d recurse. -R, --dereference-recursive Lire recursivement tous les fichiers a l'interieur de chaque repertoire. Suivre tous les liens symboliques, contrairement a -r. Autres options --line-buffered Utiliser un tampon de ligne sur le flux de sortie. Cela peut reduire les performances. -U, --binary Traiter les fichiers comme s'ils etaient des fichiers binaires. Par defaut, sous MS-DOS et MS-Windows, grep determine le type de fichier comme cela est decrit pour l'option --binary-files. Si grep decide que le fichier est un fichier de texte, il enleve 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 traites tels quels. Si le fichier est un fichier de texte avec des paires CR-LF en fin de ligne, certaines expressions rationnelles peuvent echouer. Cette option n'a aucun effet sur des plates-formes autres que MS-DOS et MS-Windows. -z, --null-data Traiter les donnees d'entree et de sortie sous forme d'ensembles de lignes, chacune terminee par un octet NULL (le caractere ASCII NULL) au lieu d'un changement de ligne. Comme l'option -Z ou --null, cette option peut etre combinee 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 decrire un ensemble de chaines. Les expressions rationnelles sont construites comme des operations arithmetiques ; elles utilisent differents operateurs pour combiner des expressions plus petites. Grep gere trois styles de syntaxe pour les expressions rationnelles : << simple >> (basic, BRE), << etendue >> (extended, ERE) et << Perl >> (PCRE). Dans la version GNU de grep, les expressions rationnelles de style basic et extended sont simplement des notations differentes pour la meme fonctionnalite de correspondance de motif. Dans d'autres implementations, 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 etendues, les differences avec les expressions simples etant resumees ensuite. Les expressions rationnelles Perl offrent des fonctionnalites differentes et sont documentees dans pcre2syntax(3) et pcre2pattern(3), mais ne fonctionnent que si les PCRE sont disponibles sur le systeme. Les briques elementaires sont les expressions rationnelles correspondant a un seul caractere. La plupart des caracteres, y compris les lettres et les chiffres, constituent des expressions rationnelles et correspondent avec eux-memes. Tout metacaractere ayant une signification particuliere doit etre protege en le faisant preceder d'une contre-oblique (backslash). Le point . correspond a n'importe quel caractere. Il n'est pas specifie s'il correspond avec une erreur d'encodage. Classes de caracteres et expressions entre crochets Une expression entre crochets est une liste de caracteres encadree par un [ et un ]. Elle est en correspondance avec n'importe quel caractere appartenant a la liste. Si le premier caractere de la liste est un caret << ^ >>, alors la mise en correspondance se fait avec n'importe quel caractere absent de la liste ; il n'est pas specifie 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 caracteres consiste en deux caracteres separes par un tiret. Il correspond avec n'importe quel caractere compris entre les deux caracteres caractere (ceux-ci inclus), l'ordre des caracteres dependant des parametres regionaux (locale, en anglais) actuels. Ainsi, avec les parametres par defaut (<< C >>), [a-d] est equivalent a [abcd]. Avec beaucoup de parametres regionaux, les caracteres sont tries en suivant l'ordre des dictionnaires, et [a-d] n'est alors en general pas equivalent a [abcd], mais peut l'etre a [aBbCcDd], par exemple. Pour que ces listes aient le comportement habituel de << C >>, vous pouvez positionner la variable d'environnement LC_ALL a la valeur C. Enfin, certaines classes de caracteres predefinies existent a l'interieur 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 hexadecimaux). Par exemple, [[:alnum:]] correspond aux chiffres et lettres pour les parametres regionaux actuels. Dans les parametres regionaux C et avec le codage de caracteres ASCII, c'est equivalent a [0-9A-Za-z]. Remarquez que les crochets dans les noms de classes font partie integrante du nom symbolique, et qu'ils doivent donc etre inclus en plus des crochets encadrant ces expressions entre crochets. La plupart des metacaracteres perdent leur signification particuliere a l'interieur d'une expression entre crochets. Pour inclure un caractere ], mettez-le en premier dans la liste. De meme, pour inclure un caractere ^, placez-le n'importe ou sauf au debut de la liste. Enfin, pour inclure un -, placez-le en dernier. Ancrage Le caret << ^ >> et le symbole dollar << $ >> sont des metacaracteres correspondant respectivement a une chaine vide au debut et en fin de ligne. Caractere contre-oblique et expressions speciales Les symboles \< et \> correspondent respectivement a une chaine vide en debut et en fin de mot. Le symbole \b correspond a une chaine vide a l'extremite d'un mot, et \B correspond a une chaine vide ne se trouvant pas a une extremite de mot. Le symbole \w est un synonyme pour [_[:alnum:]] et \W est un synonyme pour [^_[:alnum:]]. Repetitions Dans une expression rationnelle, un caractere peut etre suivi par l'un des operateurs de repetition suivants : ? L'element precedent est facultatif et peut etre rencontre au plus une fois. * L'element precedent peut etre rencontre zero ou plusieurs fois. + L'element precedent peut etre rencontre une ou plusieurs fois. {n} L'element precedent doit correspondre exactement n fois. {n,} L'element precedent doit correspondre n fois ou plus. {,m} L'element precedent doit correspondre au plus m fois. C'est une extension GNU. {n,m} L'element precedent doit correspondre au moins n fois, mais au plus m fois. Concatenations Deux expressions rationnelles peuvent etre concatenees ; l'expression resultante correspondra a toute chaine formee par la concatenation de deux sous-chaines correspondant respectivement aux expressions concatenees. Alternatives Deux expressions rationnelles peuvent etre reliees par l'operateur infixe | ; l'expression resultante correspondra a toute chaine qui comporte l'une ou l'autre des deux expressions. Priorites Les repetitions ont priorite sur les concatenations, qui a leur tour ont priorite sur les alternatives. Une sous-expression peut etre entouree par des parentheses pour modifier ces regles de priorite et former une expression. References arrieres et sous-expressions La reference arriere \n , ou n est un chiffre unique, correspond a la sous-chaine deja mise en correspondance avec la n-ieme sous-expression rationnelle entre parentheses. Expressions rationnelles basiques et etendues Dans les expressions rationnelles simples, les metacaracteres ?, +, {, |, (, et ) perdent leur signification speciale, il faut utiliser a la place leur version avec la contre-oblique \?, \+, \{, \|, \(, et \). CODE DE RETOUR Normalement, le code de retour est 0 si des concordances ont ete trouvees, 1 si aucune concordance n'a ete trouvee et 2 si une erreur est survenue. Toutefois, si les options -q, --quiet ou --silent sont utilisees et si une ligne est trouvee, le code de retour est 0 meme si une erreur est survenue. ENVIRONNEMENT Le comportement de grep est modifie par les variables d'environnement suivantes : Les parametres regionaux pour la categorie LC_truc sont definis par les trois variables d'environnement LC_ALL, LC_truc, LANG, dans cet ordre. La variable positionnee en premier determine le choix des parametres regionaux. Par exemple, si LC_ALL n'est pas positionnee, mais LC_MESSAGES vaut fr_FR, alors le francais est utilise pour l'affichage des messages. Par defaut << C >> est utilisee si aucune variable d'environnement n'est trouvee, si le catalogue des parametres regionaux n'est pas installe ou bien si grep a ete compile sans le support pour les langues nationales (NLS). La commande locale -a liste les parametres regionaux actuellement disponibles. GREP_COLORS Controler la maniere dont l'option '--color met en evidence la sortie. Sa valeur est une liste de capacites separees par des deux-points, qui vaut par defaut ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 sans les capacites booleennes rv et ne (qui prennent alors la valeur << false >>, faux). Les capacites prises en charge sont les suivantes : sl= Sous-chaine SGR (<< Select Graphic Rendition >>) pour les lignes entieres selectionnees (c'est-a-dire les lignes qui correspondent quand l'option en ligne de commande -v n'est pas utilisee, ou les lignes qui ne correspondent pas quand -v est specifiee). Si cependant la capacite booleenne rv et l'option en ligne de commande -v sont toutes deux indiquees, cela s'applique a la place aux lignes de contexte qui correspondent. La valeur par defaut est vide (c'est-a-dire la paire de couleurs par defaut du terminal). cx= Sous-chaine SGR pour les lignes de contexte entieres (c'est-a-dire les lignes qui ne correspondent pas quand l'option en ligne de commande -v n'est pas utilisee, ou les lignes qui correspondent quand -v est indiquee). Si cependant la capacite booleenne rv et l'option en ligne de commande -v sont toutes deux indiquees, cela s'applique a la place aux lignes qui ne correspondent pas. La valeur par defaut est vide (c'est-a-dire la paire de couleurs par defaut du terminal). rv Valeur booleenne qui inverse la signification des capacites sl= et cx= quand l'option de ligne de commande -v est indiquee. La valeur par defaut est le booleen faux (c'est-a-dire la capacite est omise). mt=01;31 Sous-chaine SGR pour le texte non vide qui correspond dans les lignes qui correspondent (c'est-a-dire une ligne selectionnee quand l'option en ligne de commande -v n'est pas utilisee, ou une ligne de contexte quand -v est specifiee). L'utiliser est equivalent a utiliser a la fois ms= et mc= avec la meme valeur. La valeur par defaut correspond a du texte rouge en gras sur le fond de la ligne actuelle. ms=01;31 Sous-chaine SGR pour le texte non vide qui correspond dans une ligne selectionnee (ce n'est utilise que quand l'option en ligne de commande -v n'est pas utilisee). L'effet de la capacite sl= (ou cx= si rv est activee) reste actif quand c'est utilise. La valeur par defaut correspond a du texte rouge en gras sur le fond de la ligne actuelle. mc=01;31 Sous-chaine SGR pour le texte non vide qui correspond dans les lignes de contexte (ce n'est utilise que quand l'option en ligne de commande -v n'est pas utilisee). L'effet de la capacite cx= (ou sl= si rv est activee) reste actif quand c'est utilise. La valeur par defaut correspond a du texte rouge en gras sur le fond de la ligne actuelle. fn=35 Sous-chaine SGR pour les noms de fichier qui prefixent les lignes de contenu. La valeur par defaut correspond a du texte de couleur magenta sur le fond par defaut du terminal. ln=32 Sous-chaine SGR pour les numeros de ligne qui prefixent les lignes de contenu. La valeur par defaut correspond a du texte de couleur vert sur le fond par defaut du terminal. bn=32 Sous-chaine SGR pour les emplacements qui prefixent les lignes de contenu. La valeur par defaut correspond a du texte de couleur vert sur le fond par defaut du terminal. se=36 Sous-chaine SGR pour les separateurs qui sont inseres entre les champs des lignes selectionnees (:), entre les champs des lignes de contexte (-) et entre les groupes de lignes adjacentes quand un contexte non nul est specifie (--). La valeur par defaut correspond a du texte de couleur cyan sur le fond par defaut du terminal. ne Valeur booleenne qui evite l'effacement de la fin de la ligne en utilisant une sequence EL (<< Erase in Line >>, ou en francais << Effacement en Ligne >>), vers la droite (\33[K) a chaque fois qu'un element colore se termine. C'est necessaire pour les terminaux sur lesquels EL n'est pas pris en charge. Sinon, c'est aussi utile pour les terminaux sur lesquels la capacite booleenne terminfo << back_color_erase >> (bce) ne s'applique pas, quand les couleurs de mise en evidence ne touchent pas a la couleur de fond, quand EL est trop lent ou cause trop de scintillements. La valeur par defaut est le booleen faux (c'est-a-dire que la capacite n'est pas activee). Notez que les capacites booleennes n'ont pas de partie << =... >>. Elles sont omises par defaut (ce qui correspond a une valeur booleenne faux) et deviennent vrai si elles sont precisees. Voir la section Select Graphic Rendition (SGR) dans la documentation du terminal texte utilise pour avoir la liste des valeurs autorisees et leur signification comme attributs de caractere. Ces valeurs de sous-chaines sont des entiers sous forme decimale et peuvent etre concatenees a l'aide de points-virgules. grep se charge d'assembler le resultat en une sequence SGR complete (\33[...m). Les valeurs courantes a concatener sont entre autres 1 (gras), 4 (souligne), 5 (clignotant), 7 (inverse), 39 (couleur de trait par defaut), 30 a 37 (couleurs de trait), 90 a 97 (couleurs de trait en mode 16 couleurs), 38;5;0 a 38;5;255 (couleurs de trait en mode 88 et 256 couleurs), 49 (couleur de fond par defaut), 40 a 47 (couleurs de fond), 100 a 107 (couleurs de fond en mode 16 couleurs) et 48;5;0 a 48;5;255 (couleurs de fond en mode 88 et 256 couleurs). LC_ALL, LC_COLLATE, LANG Ces variables indiquent le choix des parametres regionaux pour la categorie LC_COLLATE, qui determine l'ordre des caracteres utilise pour l'interpretation des intervalles tels que [a-z]. LC_ALL, LC_CTYPE, LANG Ces variables specifient les parametres regionaux de la categorie LC_CTYPE, ce qui determine le type de caracteres, par exemple, quels caracteres sont des blancs. Cette categorie determine aussi l'encodage de caracteres, c'est-a-dire si le texte est encode en UTF-8, ASCII ou un autre encodage. Avec la locale C ou POSIX, tous les caracteres sont encodes sur un octet et chaque octet est un caractere valable. LC_ALL, LC_MESSAGES, LANG Ces variables indiquent le choix des parametres regionaux pour la categorie LC_MESSAGES, qui determine la langue utilisee par grep pour ses messages. Les parametres << C >> utilises par defaut sont en anglais americain. POSIXLY_CORRECT Si cette variable est positionnee, grep se comporte comme indique 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 considerees aussi comme des noms de fichiers. Par defaut, ces options sont deplacees avant la liste des operandes et sont traitees comme des options. POSIX requiert aussi que les options non reconnues soient considerees comme << illegales >> ; mais comme elles n'enfreignent pas vraiment les regles, elles sont rapportees comme etant << incorrectes >> par defaut. NOTES Cette page de manuel est maintenue de facon intermittente. La documentation complete est mise a 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 ; meme pas de VALEUR MARCHANDE ou d'ADEQUATION A UNE UTILISATION PARTICULIERE. BOGUES Remonter des bogues Envoyez par courriel les signalements de bogues a l'adresse . Une archive de courrier electronique et un gestionnaire de bogues sont disponibles. Bogues connus Dans les constructions {n,m} de grandes valeurs de repetition peuvent pousser grep a utiliser beaucoup de memoire. D'autres expressions rationnelles tordues peuvent prendre un temps tres long et mener a une insuffisance de memoire. Les references arrieres sont tres lentes et peuvent demander un temps tres 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 repertoire courant dont le nom contient << g >> et se termine par << .h >>. L'option -n affiche les numeros de ligne, l'argument -- traite les expansions de << *g*.h >> commencant par << - >> comme des noms de fichier, pas des options, et le fichier /dev/null fait en sorte que les noms de fichier soient affiches meme 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 premiere ligne d'argmatch.h. Remarquez que la syntaxe de l'expression rationnelle utilisee dans le motif differe de celle avec des jokers (glob) utilisee par l'interpreteur 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 complete Un manuel complet est disponible. Si les programmes info et grep sont correctement installes sur votre systeme, la commande info grep devrait vous donner acces au manuel complet. TRADUCTION La traduction francaise de cette page de manuel a ete creee par Luc Froidefond , Nicolas Francois , Florentin Duneau , David Prevot , Cedric Boutillier , Jean-Philippe MENGUAL et Jean-Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . GNU grep 3.11 2019-12-29 GREP(1)