Suivez-nous

Divers

—Passez la commande (25) : grep —

Zoz

Publié le

 

Par



Leçon n°25

De retour de vacances, il faut maintenant penser à se remettre aux cours et aux exercices de “Passez la commande”.

Nous allons reprendre en beauté avec une commande importante, néanmoins complexe dans son utilisation, mais qui permet une navigation efficace dans le shell.

Nous allons donc étudier la commande : grep, qui est plus précisément un filtre.
Pour la petite histoire, grep proviendrait de l’éditeur de texte ed et signifierait : “global regular expression print”, soit en français : “recherche global d’expression rationnelle”. Ce qui voudrait dire en langage moins barbare, que ce filtre permet de rechercher des expressions dans un fichier.

Donnons un exemple simple :

Je souhaite retrouver dans un fichier contenant du texte, un nom, ou une ligne contenant une information, je tape alors :

– grep nom fichier

Cela parait simple, pourtant si l’on pousse un peu la recherche et que l’on veut étayer un peu plus, et utiliser par exemple des expressions telles les jokers ou autres, cela se corse… Voici tout de suite un petit exemple de cette utilisation possible :

– grep ^[a-g] fichier

Le réstultat de la commande n’affichera alors que les caractères de “a” à “g” contenu dans le fichier. Mais ne vous inquiétez pas, nous aborderons grep plus en détail dans une session prochaine.

Allez, parce que l’on est de bonne humeur, on vous donne quelques options de ce filtre :

– c : affiche le nombre de lignes contenant la recherche.
– l : affiche les fichiers contenant la recherche.
– x : affiche la ligne correspondant exactement à la recherche.

Vous voilà parés pour les exercices, sachant qu’il vous reste à savoir utiliser grep avec les expressions régulières (cf. ci-dessus) , ce qui n’est pas rien.

Exercices : Quelles sont les variantes possible de cette commande ? Quelles sont les expressions régulières utilisables avec grep ?

Leçon précédente
Leçon suivante
Passez la commande : La Récap’

Cliquez pour commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *