next up previous contents Next: Copie vers des disquettes Up: Les commandes de base. Previous: Recherche de fichiers.   Table des matières  

5.15 Recherche dans les fichiers.

Très souvent, vous devrez chercher dans un certain nombre de fichiers afin d'y trouver un mot ou une partie de phrase donnée. Cela pourrait être le cas de fichiers contenant une liste de numéros de téléphone avec des noms de personnes et des adresses. La commande grep effectue une recherche ligne-par-ligne dans un fichier et affiche les lignes qui contiennent un mot que vous lui avez indiqué. La syntaxe de grep se présente ainsi:

grep [options] <motif> <fichier> [<fichier> ...] 


[Les mots ``mot'', ``chaîne'', ``motif'' (word, string, pattern en anglais) sont utilisés comme des synonymes dans ce contexte. Ils signifient une courte énumération de lettres et/ou de nombres pour lesquels vous essayez de trouver une correspondance. Un motif peut également désigner une chaîne de caractères avec des motifs de remplacement, comme nous le verrons plus tard].

Exécutez la commande grep avec pour motif le mot ``le'' de manière à retourner à l'écran les lignes contenant ce motif ``le'': grep 'le' Mary_Jones.lettre. A présent, essayez grep 'le' *.lettre. Voyons quelques options:

grep -n <motif> <fichier>
montre le nombre de lignes pour lequel le motif a été trouvé dans le fichier.


grep -<nombre> <motif> <fichier>
affiche le <nombre> de lignes qui précèdent et suivent chaque ligne où le motif a été détecté dans le fichier.


grep -A <nombre> <motif> <fichier>
affiche le <nombre> de lignes qui suivent chaque ligne où le motif a été détecté dans le fichier.


grep -B <nombre> <motif> <fichier>
affiche le <nombre> de lignes qui précèdent chaque ligne où le motif a été détecté dans le fichier.


grep -v <motif> <fichier>
imprime seulement les lignes qui ne contiennent pas le motif indiqué comme argument. [Vous pouvez vous dire que l'option -v ne fait plus le même type de recherche que grep est sensé faire, c'est-à-dire rechercher des chaînes de caractères. En fait, les commandes UNIX possèdent une telle versatilité dans leur fonctionnalité qu'elles recouvrent d'autres commandes. Avec UNIX, on n'arrête jamais d'apprendre de nouvelles et astucieuses méthodes pour réaliser des choses cachées dans les coins obscurs des pages de man].


grep -i <motif> <fichier>
agit de la même manière que grep mais sans sensibilité à la casse.


next up previous contents Next: Copie vers des disquettes Up: Les commandes de base. Previous: Recherche de fichiers.   Table des matières  
1-01-2006