Nom

grep, egrep, fgrep – imprimer les lignes correspondant à un motif

Synopsis

grep PATTERN
grep

Description

grep recherche dans les FICHIERS d’entrée nommés (ou l’entrée standard si aucun fichier n’est nommé, ou si un seul tiret-moins (-) est donné comme nom de fichier)pour les lignes contenant une correspondance avec le PATTERN donné. Par défaut, grep imprime les lignes correspondantes.

En outre, deux programmes variantes egrep et fgrep sont disponibles. egrep est identique à grep -E. fgrep est identique àgrep -F. L’invocation directe comme egrep ou fgrep est dépréciée, mais est fournie pour permettre aux applications historiques qui s’appuient sur eux de tourner sans être modifiées.

Options

Informations génériques sur le programme

–help

Imprime un message d’utilisation résumant brièvement ces options de ligne de commande et l’adresse de signalement des bogues, puis quitte.

-V, –version Imprime le numéro de version de grep sur le flux de sortie standard. Ce numéro de version doit être inclus dans tous les rapports de bogues (voir ci-dessous).

Sélection de matrices

-E, –extended-regexp Interpréter PATTERN comme une expression régulière étendue (ERE, voir ci-dessous). (-E est spécifié par POSIX .) -F, –fixed-strings Interprétez PATTERN comme une liste de chaînes fixes, séparées par des retours à la ligne, dont l’une quelconque doit être mise en correspondance. (-F est spécifié par POSIX.) -G, –basic-regexp Interpréter PATTERN comme une expression régulière de base (BRE, voir ci-dessous). C’est la valeur par défaut. -P, –perl-regexp Interpréter le PATTERN comme une expression régulière Perl. Ceci est hautement expérimental et grep -P peut avertir de fonctionnalités non implémentées.

Contrôle de la correspondance

-e PATTERN, –regexp=PATTERN Utilisez PATTERN comme motif. Cela peut être utilisé pour spécifier plusieurs motifs de recherche, ou pour protéger un motif commençant par un tiret (-).(-e est spécifié par POSIX .) -f FICHIER, –fichier=FICHIER Obtient des motifs à partir de FICHIER, un par ligne. Le fichier vide ne contient aucun motif, et ne correspond donc à rien. (-f est spécifié par POSIX .) -i, –ignore-case Ignore les distinctions de casse dans le PATTERN et les fichiers d’entrée. (-i est spécifié par POSIX .) -v, –invert-match Inverse le sens de la correspondance, pour sélectionner les lignes non correspondantes. (-v est spécifié par POSIX .) -w, –word-regexp Sélectionnez uniquement les lignes contenant des correspondances qui forment des mots entiers. Le test est que la sous-chaîne correspondante doit être soit au début de la ligne, soit précédée d’un caractère constitutif non-mot. De même, elle doit se trouver à la fin de la ligne ou être suivie d’un caractère non constitutif de mot.les caractères constitutifs de mot sont des lettres, des chiffres et le trait de soulignement. -x, –line-regexp Sélectionnez uniquement les correspondances qui correspondent exactement à la ligne entière. (-x est spécifié par POSIX .) -y

Synonyme obsolète de -i.

Contrôle général de la sortie

-c, –count Supprime la sortie normale ; à la place, imprime un compte de lignes correspondantes pour chaque fichier d’entrée. Avec l’option -v, –invert-match (voir ci-dessous), compte les lignes non correspondantes. (-c est spécifié par POSIX .) –color, –colour Entoure les chaînes (non vides) correspondantes, les lignes correspondantes, les lignes de contexte, les noms de fichiers, les numéros de lignes, les décalages d’octets et les séparateurs (pour les champs et les 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. La variable d’environnement GREP_COLOR, qui a été supprimée, est toujours prise en charge, mais son paramétrage n’est pas prioritaire. WHEN est jamais, toujours, ouauto. -L, –files-without-match Supprime la sortie normale ; à la place, affiche le nom de chaque fichier d’entrée pour lequel aucune sortie n’aurait normalement été imprimée. L’analyse s’arrêtera à la première correspondance. -l, –files-with-matches Supprime la sortie normale ; à la place, affiche le nom de chaque fichier d’entrée à partir duquel la sortie aurait normalement été imprimée. L’analyse s’arrêtera au premier résultat. (-l est spécifié par POSIX .) -m NUM, –max-count=NUM Arrête la lecture d’un fichier après NUM lignes correspondantes. Si l’entrée est l’entrée standard d’un fichier régulier, et que NUM lignes correspondantes sont sorties, grep s’assure que l’entrée standard est positionnée juste après la dernière ligne correspondante avant de sortir, indépendamment de la présence de lignes contextuelles de fin. Cela permet à un processus appelant de reprendre une recherche. Lorsque grep s’arrête après NUM lignes correspondantes, il sort toutes les lignes contextuelles de queue. Lorsque l’option -c ou –count est également utilisée, grep n’affiche pas un nombre supérieur à NUM. Lorsque l’option -v ou –invert-match est également utilisée, grep s’arrête après la sortie de NUM lignes non correspondantes. -o, –only-matching Imprime seulement les parties correspondantes (non vides) d’une ligne correspondante, avec chacune de ces parties sur une ligne de sortie séparée. -q, –quiet, –silent Silencieux ; n’écrit rien sur la sortie standard. Sortir immédiatement avec un statut zéro si une correspondance est trouvée, même si une erreur a été détectée. Voir également l’option-s ou –no-messages. (-q est spécifié par POSIX .) -s, –no-messages Supprime les messages d’erreur concernant les fichiers inexistants ou illisibles. Note sur la portabilité : contrairement à GNU grep, la 7ème édition d’Unix grep n’était pas conforme à POSIX , car elle n’avait pas -q et son option -s se comportait comme l’option -q de GNU grep.USG -style grep n’avait pas non plus -q mais son option -s se comportait comme GNU grep. Les scripts shell portables devraient éviter les options -q et -s et devraient rediriger les sorties standard et d’erreur vers /dev/null à la place. (-s est spécifié par POSIX.)

Contrôle du préfixe de ligne de sortie

-b, –byte-offset Imprime le décalage d’octet basé sur 0 dans le fichier d’entrée avant chaque ligne de sortie. Si -o (–only-matching) est spécifié, affiche le décalage de la partie correspondante elle-même. -H, –with-filename Imprime le nom du fichier pour chaque correspondance. C’est la valeur par défaut lorsqu’il y a plus d’un fichier à rechercher. -h, –no-filename Supprime le préfixe des noms de fichiers sur la sortie. C’est la valeur par défaut lorsqu’il n’y a qu’un seul fichier (ou seulement l’entrée standard) à rechercher. –label=LABEL Affiche l’entrée provenant réellement de l’entrée standard comme une entrée provenant du fichier LABEL. Ceci est particulièrement utile lors de l’utilisation d’outils commezgrep, par exemple, gzip -cd foo.gz | grep –label=foo -H quelque chose. Voir aussi l’option -H. -n, –numéro de ligne Préfixe chaque ligne de sortie avec le numéro de ligne basé sur 1 dans son fichier d’entrée. (-n est spécifié par POSIX .) -T, –initial-tab Assurez-vous que le premier caractère du contenu de la ligne se trouve sur un taquet de tabulation, afin que l’alignement des tabulations soit normal. Ceci est utile avec les options qui préfixent leur sortie au contenu réel : -H,-n, et -b. Afin d’améliorer la probabilité que les lignes d’un même fichier commencent toutes à la même colonne, ceci entraîne également l’impression du numéro de ligne et du décalage d’octet (s’il est présent) dans un champ de taille minimale. -u, –unix-byte-offsets Rapporter les décalages d’octets de style Unix. Cette option fait en sorte que grep rapporte les décalages d’octets comme si le fichier était un fichier texte de style Unix, c’est-à-dire sans les caractères CR. Cela produira des résultats identiques à l’exécution de grep sur une machine Unix. Cette option n’a aucun effet à moins que l’option -b soit également utilisée ; elle n’a aucun effet sur les plateformes autres que MS-DOS et MS-Windows. -Z, –null Affiche un octet zéro (le caractère ASCII NUL) à la place du caractère qui suit normalement un nom de fichier. Par exemple, grep -lZsort un octet zéro après chaque nom de fichier au lieu de la nouvelle ligne habituelle. Cette option rend la sortie sans ambiguïté, même en présence de noms de fichiers contenant des caractères inhabituels comme les nouvelles lignes. Cette option peut être utilisée avec des commandes comme find -print0, perl -0, sort -z, et xargs -0 pour traiter des noms de fichiers arbitraires, même ceux qui contiennent des caractères de nouvelle ligne.

Contrôle des lignes de contexte

-A NUM, –after-context=NUM Imprime NUM lignes de contexte de queue après les lignes correspondantes. Place une ligne contenant un séparateur de groupe (–) entre des groupes contigus de correspondances. Avec l’option -o ou –only-matching, ceci n’a aucun effet et un avertissement est donné. -B NUM, –before-context=NUM Imprime NUM lignes de contexte avant les lignes de correspondance. Place une ligne contenant un séparateur de groupe (–) entre des groupes contigus de correspondances. Avec l’option -o ou –only-matching, ceci n’a aucun effet et un avertissement est donné. -C NUM, -NUM, –context=NUM Imprime NUM lignes du contexte de sortie. Place une ligne contenant un séparateur de groupe (–) entre des groupes contigus de correspondances. Avec l’option -o ou–only-matching, cela n’a aucun effet et un avertissement est donné.

Sélection de fichiers et de répertoires

-a, –text Traite un fichier binaire comme s’il s’agissait de texte ; ceci est équivalent à l’option –binary-files=text. –binary-files=TYPE Si les premiers octets d’un fichier indiquent que le fichier contient des données binaires, supposez que le fichier est de type TYPE. Par défaut, TYPE est binaire, et grep produit normalement soit un message d’une ligne indiquant qu’un fichier binaire correspond, soit aucun message s’il n’y a pas de correspondance. Si TYPE est sans correspondance, grep suppose qu’un fichier binaire ne correspond pas ; ceci est équivalent à l’option -I. Si TYPE est textuel, grep traite un fichier binaire comme s’il était textuel ; ceci est équivalent à l’option -a. Avertissement : grep –binary-files=text peut sortir des déchets binaires, ce qui peut avoir des effets secondaires désagréables si la sortie est un terminal et si le pilote du terminal interprète certains d’entre eux comme des commandes. -D ACTION, –devices=ACTION Si un fichier d’entrée est un périphérique, une FIFO ou une socket, utilisez ACTION pour le traiter. Par défaut, ACTION est read, ce qui signifie que les périphériques sont lus comme s’il s’agissait de fichiers ordinaires. Si ACTION est skip, les périphériques sont ignorés silencieusement. -d ACTION, –répertoires=ACTION Si un fichier d’entrée est un répertoire, utilisez ACTION pour le traiter. Par défaut, ACTION est read, ce qui signifie que les répertoires sont lus comme s’ils étaient des fichiers ordinaires. Si ACTION est skip, les répertoires sont ignorés silencieusement. Si ACTION est recurse, grep lit tous les fichiers sous chaque répertoire, de manière récursive ; ceci est équivalent à l’option -r. –exclude=GLOB Ignore les fichiers dont le nom de base correspond à GLOB (à l’aide d’un caractère générique). Un nom de fichier global peut utiliser *, ?, et comme caractères génériques, et \ pour citer littéralement un caractère générique ou une barre oblique inverse. –exclude-from=FILE Ignore les fichiers dont le nom de base correspond à l’un des globes de noms de fichiers lus dans FILE (en utilisant des caractères génériques comme décrit sous –exclude). –exclude-dir=DIR Exclut les répertoires correspondant au motif DIR des recherches récursives. -I

Traiter un fichier binaire comme s’il ne contenait pas de données correspondantes ; ceci est équivalent à l’option –binary-files=without-match.

–include=GLOB Rechercher uniquement les fichiers dont le nom de base correspond à GLOB (en utilisant la correspondance par caractères génériques comme décrit sous –exclude). -R, -r, –recursive Lire tous les fichiers sous chaque répertoire, de manière récursive ; ceci est équivalent à l’option -d recurse.

Autres options

–line-buffered Utiliser la mise en mémoire tampon des lignes sur la sortie. Cela peut entraîner une pénalité de performance. –mmap

Si possible, utilisez l’appel système mmap(2) pour lire l’entrée, au lieu de l’appel système read(2) par défaut. Dans certaines situations, –mmap permet d’obtenir de meilleures performances. Cependant, –mmap peut provoquer un comportement indéfini (y compris des vidages de noyau) si un fichier d’entrée rétrécit pendant que grep fonctionne, ou si une erreur d’E/S se produit.

-U, –binary Traiter le(s) fichier(s) en tant que binaire. Par défaut, sous MS-DOS et MS -Windows, grep devine le type de fichier en regardant le contenu des 32 premiers Ko lus dans le fichier. Si grep décide que le fichier est un fichier texte, il supprime les caractères CR du contenu du fichier original (pour que les expressions régulières avec ^ et $ fonctionnent correctement). La spécification de -U annule cette supposition, ce qui fait que tous les fichiers sont lus et passés au mécanisme de correspondance mot à mot ; si le fichier est un fichier texte avec des paires CR/LF à la fin de chaque ligne, cela fera échouer certaines expressions régulières. Cette option n’a aucun effet sur les plateformes autres que MS-DOS et MS -Windows. -z, –null-data Traite l’entrée comme un ensemble de lignes, chacune terminée par un octet zéro (le caractère ASCII NUL) au lieu d’une nouvelle ligne. Comme l’option -Zou –null, cette option peut être utilisée avec des commandes comme sort -z pour traiter des noms de fichiers arbitraires.

Expressions régulières

Une expression régulière est un motif qui décrit un ensemble de chaînes de caractères. Les expressions régulières sont construites de manière analogue aux expressions arithmétiques, en utilisant divers opérateurs pour combiner des expressions plus petites.

grep comprend trois versions différentes de la syntaxe des expressions régulières : « basic », « extended » et « perl ». Dans GNU grep, il n’y a pas de différence dans les fonctionnalités disponibles entre les syntaxes de base et étendue. Dans d’autres implémentations, les expressions régulières de base sont moins puissantes. La description suivante s’applique aux expressions régulières étendues ; les différences avec les expressions régulières de base sont résumées plus loin. Les expressions régulières Perl donnent des fonctionnalités supplémentaires, et sont documentées dans pcresyntax(3) et pcrepattern(3), mais peuvent ne pas être disponibles sur tous les systèmes.

Les blocs de construction fondamentaux sont les expressions régulières qui correspondent à un seul caractère. La plupart des caractères, y compris toutes les lettres et tous les chiffres, sont des expressions régulières qui se correspondent elles-mêmes. Tout méta-caractère ayant une signification spéciale peut être cité en le faisant précéder d’une barre oblique inverse.

Le point . correspond à n’importe quel caractère unique.

Classes de caractères et expressions entre crochets

Une expression entre crochets est une liste de caractères entourée de . Elle correspond à n’importe quel caractère de cette liste ; si le premier caractère de la liste est le signe d’insertion ^, elle correspond à tout caractère ne figurant pas dans la liste. Par exemple, l’expression régulière correspond à un seul chiffre.

Dans une expression entre crochets, une expression d’intervalle consiste en deux caractères séparés par un trait d’union. Elle correspond à tout caractère unique compris entre les deux caractères, inclusivement, en utilisant la séquence de collationnement et le jeu de caractères de la locale. Par exemple, dans la locale C par défaut, est équivalent à . De nombreuses locales trient les caractères dans l’ordre du dictionnaire, et dans ces locales, n’est généralement pas équivalent à ; il peut être équivalent à , par exemple. Pour obtenir l’interprétation traditionnelle des expressions entre crochets, vous pouvez utiliser la locale C en définissant la variable d’environnementLC_ALL à la valeur C.

Enfin, certaines classes de caractères nommés sont prédéfinies dans les expressions entre crochets, comme suit. Leurs noms sont explicites et sont les suivants : , , , , , , , , , et . Par exemple, ] signifie , sauf que la dernière forme dépend de la locale et du codage des caractères ASCII, alors que la première est indépendante de la locale et du jeu de caractères. (Notez que les parenthèses dans ces noms de classe font partie des noms symboliques, et doivent être incluses en plus des parenthèses délimitant l’expression entre crochets). La plupart des métacaractères perdent leur signification particulière dans les expressions entre crochets. Pour inclure un caractère littéral ], placez-le en premier dans la liste. De même, pour inclure le caractère littéral ^, placez-le partout sauf en premier. Enfin, pour inclure un littéral -, placez-le en dernier.

L’ancrage

L’caret ^ et le signe dollar $ sont des métacaractères qui correspondent respectivement à la chaîne vide au début et à la fin d’une ligne.

Le caractère backslash et les expressions spéciales

Les symboles \< et \> correspondent respectivement à la chaîne vide au début et à la fin d’un mot. Le symbole \b correspond à la chaîne vide au bord d’un mot, et \B correspond à la chaîne vide à condition qu’elle ne soit pas au bord d’un mot. Le symbole \w est un synonyme de] et \W est un synonyme de ].

Répétition

Une expression régulière peut être suivie d’un des nombreux opérateurs de répétition : ?

L’élément précédent est facultatif et correspond au plus une fois.

*

L’élément précédent sera mis en correspondance zéro fois ou plus.

+

L’élément précédent sera mis en correspondance une ou plusieurs fois.

{n}

L’élément précédent est apparié exactement n fois.

{n,}

L’élément précédent est apparié n fois ou plus.

{,m}

L’élément précédent est mis en correspondance au plus m fois.

{n,m}

L’élément précédent est mis en correspondance au moins n fois, mais pas plus de m fois.

Concaténation

Deux expressions régulières peuvent être concaténées ; l’expression régulière résultante correspond à toute chaîne formée par la concaténation de deux sous-chaînes qui correspondent respectivement aux expressions concaténées.

Alternation

Deux expressions régulières peuvent être jointes par l’opérateur infixe | ; l’expression régulière résultante correspond à toute chaîne correspondant à l’une ou l’autre des expressions alternatives.

Précédence

La répétition a la priorité sur la concaténation, qui à son tour a la priorité sur l’alternance. Une expression entière peut être mise entre parenthèses pour passer outre ces règles de précédence et former une sous-expression.

Références arrière et sous-expressions

La référence arrière \n, où n est un chiffre unique, correspond à la sous-chaîne précédemment correspondue par la nième sous-expression entre parenthèses de l’expression régulière.

Expressions régulières basiques vs étendues

Dans les expressions régulières basiques, les métacaractères ?, +, {, |, ( et ) perdent leur signification particulière ; à la place, utilisez les versions rétro-éclairées \ ?, \+, \{, \|, \( et \).

L’egrep traditionnel ne supportait pas le méta-caractère {, et certaines implémentations d’egrep supportent \{ à la place, donc les scripts portablesdoivent éviter { dans les motifs grep -E et doivent utiliser pour correspondre à un { littéral.

GNU grep -E tente de supporter l’usage traditionnel en supposant que { n’est pas spécial s’il serait le début d’une spécification d’intervalle invalide. Par exemple, la commande grep -E ‘{1’ recherche la chaîne de deux caractères {1 au lieu de signaler une erreur de syntaxe dans l’expression régulière. POSIX.2 autorise ce comportement en tant qu’extension, mais les scripts portables devraient l’éviter.

Variables d’environnement

Le comportement de grep est affecté par les variables d’environnement suivantes.

La locale pour la catégorie LC_foo est spécifiée en examinant les trois variables d’environnement LC_ALL, LC_foo, LANG, dans cet ordre. La première de ces variables qui est définie spécifie la locale. Par exemple, si la variable LC_ALL n’est pas définie, mais que la variable LC_MESSAGES a pour valeur topt_BR, la locale portugaise brésilienne est utilisée pour la catégorie LC_MESSAGES. La locale C est utilisée si aucune de ces variables d’environnement n’est définie, si le catalogue de locale n’est pas installé, ou si grep n’a pas été compilé avec le support de la langue nationale ( NLS ).

GREP_OPTIONS Cette variable spécifie les options par défaut à placer devant toute option explicite. Par exemple, si GREP_OPTIONS est ‘–binary-files=without-match –directories=skip’, grep se comporte comme si les deux options –binary-files=without-match et–directories=skip avaient été spécifiées avant toute option explicite. Les spécifications des options sont séparées par des espaces. Une barre oblique inverse échappe le caractère suivant, elle peut donc être utilisée pour spécifier une option contenant un espace ou une barre oblique inverse. GREP_COLOR Cette variable spécifie la couleur utilisée pour mettre en évidence le texte correspondant (non vide). Elle est dépréciée au profit de GREP_COLORS, mais est toujours supportée. Les capacités Themt, ms, et mc de GREP_COLORS ont priorité sur elle. Elle peut seulement spécifier la couleur utilisée pour mettre en évidence le texte non vide correspondant dans toute ligne correspondante (une ligne sélectionnée lorsque l’option de ligne de commande -v est omise, ou une ligne de contexte lorsque -v est spécifié). La valeur par défaut est 01;31, ce qui signifie un texte de premier plan rouge et gras sur l’arrière-plan par défaut du terminal. GREP_COLORS Spécifie les couleurs et autres attributs utilisés pour mettre en évidence diverses parties de la sortie. Sa valeur est une liste de capacités séparées par deux points, dont la valeur par défaut est ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36, les capacités booléennes rv et ne étant omises (c’est-à-dire fausses). Les capacités prises en charge sont les suivantes. sl=

SGR substring pour les lignes entières sélectionnées (c’est-à-dire les lignes correspondantes lorsque l’option de ligne de commande -v est omise, ou les lignes non correspondantes lorsque -v est spécifié). Si toutefois la capacité booléenne rv et l’option de ligne de commande -v sont toutes deux spécifiées, elle s’applique aux lignes de correspondance de contexte à la place.La valeur par défaut est vide (c’est-à-dire la paire de couleurs par défaut du terminal).

cx=

SGR sous-chaîne pour les lignes de contexte entières (c’est-à-dire les lignes non correspondantes lorsque l’option de ligne de commande -v est omise, ou les lignes correspondantes lorsque -v est spécifié). Si toutefois la capacité booléenne rv et l’option de ligne de commande -v sont toutes deux spécifiées, elle s’applique aux lignes non correspondantes sélectionnées. 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 (permute) la signification des capacités sl= et cx= lorsque l’option de ligne de commande -v est spécifiée. La valeur par défaut est false (c’est-à-dire que la capacité est omise).

mt=01;31

Substrat SGR pour faire correspondre du texte non vide dans toute ligne correspondante (c’est-à-dire une ligne sélectionnée lorsque l’option de ligne de commande -v est omise, ou une ligne de contexte lorsque -v est spécifié). Définir cette option est équivalent à définir ms= et mc= à la même valeur. La valeur par défaut est un texte rouge gras en avant-plan sur le fond de la ligne actuelle.

ms=01;31

SGR sous-chaîne pour faire correspondre le texte non vide dans une ligne sélectionnée. (Ceci est uniquement utilisé lorsque l’option de ligne de commande -v est omise.) L’effet de la capacité l= (ou cx= si rv) reste actif lorsque ceci entre en jeu. La valeur par défaut est un premier plan de texte rouge gras sur l’arrière-plan de la ligne actuelle.

mc=01;31

SGR sous-chaîne pour faire correspondre du texte non vide dans une ligne de contexte. (Ceci est uniquement utilisé lorsque l’option de ligne de commande -v est spécifiée.) L’effet de la capacitécx= (ou sl= si rv) reste actif lorsque ceci entre en jeu. La valeur par défaut est un premier plan de texte rouge gras sur l’arrière-plan de la ligne actuelle.

fn=35

Substrat SGR pour les noms de fichiers préfixant toute ligne de contenu. Le défaut est un premier plan de texte magenta sur le fond d’écran par défaut du terminal.

ln=32

SGR substrat pour les numéros de ligne préfixant toute ligne de contenu. Le défaut est un premier plan de texte vert sur le fond d’écran par défaut du terminal.

bn=32

SGR sous-chaîne pour les décalages d’octets préfixant toute ligne de contenu. La valeur par défaut est un premier plan de texte vert sur l’arrière-plan par défaut du terminal.

se=36

Substring pour les séparateurs qui sont insérés entre les champs de ligne sélectionnés ( :), entre les champs de ligne de contexte, (-), et entre les groupes de lignesadjacentes lorsque le contexte non nul est spécifié (–). La valeur par défaut est un premier plan de texte cyan sur l’arrière-plan par défaut du terminal.

ne

Valeur booléenne qui empêche l’effacement jusqu’à la fin de la ligne en utilisant l’effacement en ligne (EL) à droite (\33. LC_ALL, LC_CTYPE, LANG Ces variables spécifient la locale pour la catégorie LC_CTYPE, qui détermine le type de caractères, par exemple, quels caractères sont des espaces blancs. LC_ALL, LC_MESSAGES, LANG Ces variables spécifient la locale pour la catégorie LC_MESSAGES, qui détermine la langue que grep utilise pour les messages. La Clocale par défaut utilise des messages en anglais américain. POSIXLY_CORRECT Si elle est définie, grep se comporte comme l’exige la norme POSIX.2 ; sinon, grep se comporte davantage comme les autres programmes GNU.La norme POSIX.2 exige que les options qui suivent les noms de fichiers soient traitées comme des noms de fichiers ; par défaut, ces options sont permutées à l’avant de la listeoperand et sont traitées comme des options. De plus, POSIX.2 exige que les options non reconnues soient diagnostiquées comme « illégales », mais comme elles ne sont pas vraiment contre la loi, le défaut est de les diagnostiquer comme « invalides ». POSIXLY_CORRECT désactive également _N_GNU_nonoption_argv_flags_, décrit ci-dessous. _N_GNU_nonoption_argv_flags_ (Ici, N est l’ID numérique du processus grep.) Si le ième caractère de la valeur de cette variable d’environnement est 1, ne considérez pas le ième opérande de grep comme une option, même s’il semble en être une. Un interpréteur de commandes peut placer cette variable dans l’environnement pour chaque commande qu’il exécute, en spécifiant les opérandes qui sont les résultats de l’expansion des caractères génériques des noms de fichiers et qui ne doivent donc pas être traités comme des options. Ce comportement n’est disponible qu’avec la bibliothèque GNU C, et seulement lorsque POSIXLY_CORRECT n’est pas défini.

Statut de sortie

Normalement, le statut de sortie est 0 si les lignes sélectionnées sont trouvées et 1 sinon. Mais l’état de sortie est 2 si une erreur s’est produite, sauf si l’option -q ou–quiet ou –silent est utilisée et qu’une ligne sélectionnée est trouvée. Notez cependant que POSIX impose seulement, pour des programmes tels que asgrep, cmp et diff, que l’état de sortie en cas d’erreur soit supérieur à 1 ; il est donc conseillé, pour des raisons de portabilité, d’utiliser une logique qui teste cette condition générale au lieu d’une stricte égalité avec 2.

Copyright

Copyright 1998-2000, 2002, 2005-2010 Free Software Foundation, Inc.

Ce logiciel est libre ; consultez la source pour les conditions de copie. Il n’y a AUCUNE garantie ; pas même pour la COMMERCIALISATION ou l’ADÉQUATION À UN USAGE PARTICULIER.

Bugs

Rapports de bogues

Les rapports de bogues sont envoyés par courriel à <[email protected]>, une liste de diffusion dont la page web est <http://lists.gnu.org/mailman/listinfo/bug-grep>.grep’s Le traqueur de bogues de Savannah se trouve à <http://savannah.gnu.org/bugs/?group=grep&gt ;.

Bogues connus

Un grand nombre de répétitions dans la construction {n,m} peut amener grep à utiliser beaucoup de mémoire. En outre, certaines expressions régulières d’autresobscures nécessitent un temps et un espace exponentiels, et peuvent amener grep à manquer de mémoire.

Les rétro-références sont très lentes, et peuvent nécessiter un temps exponentiel.

Voir aussi

Pages de manuel régulières

awk(1), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1), xargs(1), zgrep(1), mmap(2), read(2), pcre(3), pcresyntax(3), pcrepattern(3),terminfo(5), glob(7), regex(7).

Manuel du programmeur POSIX Page

grep(1p).

Documentation TeXinfo

La documentation complète de grep est maintenue comme un manuel TeXinfo. Si les programmes info et grep sont correctement installés sur votre site,la commande info grep devrait vous donner accès au manuel complet.

Notes

GNU ‘est pas Unix, mais Unix est une bête ; sa forme plurielle est Unixen.

admin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

lg