Grep en couleur

09/12/2008

Grep est l’un des outils les plus utilisés sur Unix/Linux, il permet de trouver une chaîne de caractère ou un motif (un patron) dans un texte, une série de fichiers, une sortie de commande… bref il rend des services immenses.

Un tout petit bémol, le motif trouvé est souvent noyé dans la ou les lignes trouvées. Il serait plus agréable de voir en couleur la chaîne cherchée dans la chaîne trouvée. Et bien Grep peut le faire. Nous avons deux solutions.

La première consiste à donner l’option --color à grep, la seconde consiste à rendre cette option implicite, par exemple dans le fichier ~/.bashrc:

#Cette opération est à faire qu'une fois, elle ajoute 
#l'option dans votre bash_profile
echo 'export GREP_OPTIONS="--color"' >> ~/.bash_profile

#puis on réinitialise bashrc dans la console en cours, cette opération n'est à faire que si vous n'avez pas encore redémarré votre session
. .bash_profile

Maintenant la sortie Grep est un peu plus claire, on voit en rouge notre chaîne recherchée dans les lignes trouvée. Par exemple:

grep -ir htmlheader public_html/copix_3.0.x/utils/copix/

me retourne des lignes de ce genre:

public_html/copix_3.0.x/utils/copix/field/fields/CopixFieldAjaxListSubmit.class.php: CopixHTMLHeader::addJSDOMReadyCode(”

Je vois donc bien où se trouve mon “htmlheader” demandé. C’est d’autant plus sympa avec des tests en regexp (expression régulière):

grep -Eir "(metal3d|steevan)" public_html/copix_3.0.x/utils/

recherche “metal3d ou steevan” dans le répertoire utils de copix, l’option “-E” me permet de faire des expressions régulières de type “ERE”, avec la coloration on y voit un peu plus clair:

public_html/copix_3.0.x/utils/copix/smarty_plugins/.svn/text-base/function.ajax_submitform.php.svn-base: * @author Steevan BARBOYON public_html/copix_3.0.x/utils/copix/smarty_plugins/.svn/text-base/modifier.html_substr.php.svn-base: * Modification to add this string into last tag: Patrice Ferlet <metal3d@copix.org>

Bref, j’espère que cela peut vous être utile :)

Ça peut vous intéresser aussi


Sauvegarde automatisé en Bash

On m’a demandé hier soir sur un canal IRC ...


Traiter des listes correctement en Bash

Bien souvent j’utilise des fonctions de boucle en Bash ...


Pool de thread en bash

Créer un pool de thread est une opération toujours un ...


Manipuler les chaines en Bash

Je continue ma série d’articles sur le scripting bash....

Merci de m'aider à financer mes services

Si vous avez apprécié cet article, je vous serai reconnaissant de m'aider à me payer une petite bière :)

Si vous voulez en savoir plus sur l'utilisation de flattr sur mon blog, lisez cette page: Ayez pitié de moi

Commentaires

Ajouter un commentaire

Ajouter un commentaire

(*) Votre e-mail ne sera ni revendu, ni rendu public, ni utilisé pour vous proposer des mails commerciaux. Il n'est utilisé que pour vous contacter en cas de souci avec le contenu du commentaire, ou pour vous prévenir d'un nouveau commentaire si vous avez coché la case prévue à cet effet.