| Linux-Mandrake: Manuel de référence | ||
|---|---|---|
| Page précédente | Page suivante | |
Le but de ce chapitre est d'introduire un petit nombre d'outils en ligne de commande qui peuvent s'avérer utiles au quotidien. Bien sûr, vous pouvez passer ce chapitre si vous avez l'intention de n'utiliser qu'un environnement graphique, mais un rapide coup d'œil peut vous faire changer d'avis :-)
Ce chapitre n'est pas vraiment organisé. Les utilitaires sont listés comme ils viennent, des plus utilisés aux plus obscurs. Chaque commande sera illustrée par un exemple, mais il vous est laissé à titre d'exercice de lui trouver des usages plus utiles.
D'accord, le nom n'est pas très intuitif, pas plus que son acronyme, mais son utilisation est simple : chercher un motif donné en argument dans un ou plusieurs fichiers. Sa syntaxe est :
grep [options] <motif> [un ou plusieurs fichier(s)] |
Si on a précisé plusieurs noms de fichiers, leur nom apparaît en début des lignes remplissant les critères du motif, à moins qu'on n'ait utilisé l'option -h. L'option -l a pour effet de n'afficher que le nom des fichiers dont au moins une ligne remplit les conditions du motif. Il est parfois utile, lorsque la liste des arguments est longue, de parcourir les fichiers à l'intérieur d'une boucle du shell et d'utiliser le truc suivant : grep <motif> <nom_de_fichier> /dev/null. Le motif est une expression rationnelle, bien que la plupart du temps il ne consiste qu'en un simple mot. Les options les plus couramment utilisées sont les suivantes :
-i : Rechercher en ignorant la casse (ou capitalisation).
-v : Inverser la recherche : trouver les lignes ne correspondant pas au motif.
-n : Afficher le numéro de ligne pour chaque ligne trouvée.
-w : Dit à grep que le motif doit correspondre à un mot entier. Attention, les caractères considérés comme pouvant faire partie d'un mot dépendent du réglage de la langue.
Voici un exemple d'utilisation :
$ cat victim Hello dad Hi daddy So long dad # Chercher la chaîne "hi", peu importe la casse $ grep -i hi victim Hi daddy # Chercher "dad" comme un mot entier, et afficher # le numéro de ligne en face de chaque ligne # correspondante $ grep -nw dad victim 1:Hello dad 3:So long dad # Chercher toutes les lignes ne commençant pas # par un "H" $ grep -v "^H" victim So long dad $ |
Si vous voulez utiliser grep dans un tube, vous n'avez pas à spécifier de nom de fichier, car par défaut, il prend son entrée depuis l'entrée standard. De même, par défaut, il affiche les résultats sur la sortie standard, donc vous pouvez sans crainte mettre la sortie de grep dans un autre tube. Par exemple :
$ cat /usr/doc/HOWTO/Parallel-Processing-HOWTO | \ grep -n thread | less |
| Page précédente | Début | Page suivante |
| Le fichier /etc/fstab | find : rechercher des fichiers en fonction de certains critères |