La commande grep est un pivot des commandes UNIX. Elle cherche une expression rationnelle dans un ou plusieurs fichiers, exemple :
[delcros@mistra delcros]$grep fouille linux-commande.html
grep, la commande qui vous fouille les fichiers
La commande a donc affiché la ligne qui contient le mot "fouille" dans le fichier linux-commande.html.
La richesse de la commande grep permet de faire des recherches sur plusieurs fichiers et d'avoir un format de sortie adéquat. Par exemple, le fichier linux-commande.html est déjà assez important et il serait agréable de savoir où se trouve cette ligne qui contient le mot fouille dans le fichier :
[delcros@mistra delcros]$grep -n fouille linux-commande.html
902: Grep, la commande qui vous fouille les fichiers
Le mot fouille se trouve à la ligne numéro 902 et c'est l'option -n qui nous a permis de connaître ce numéro.
Une autre option très utile est -l qui permet de n'afficher que les noms des fichiers contenant ce que l'on cherche :
[delcros@mistra delcros]$grep -l fouille /home/delcros/personnel/html/*
/home/delcros/personnel/html/linux-commande.html
Ici, j'ai demandé à la commande grep de chercher l'occurence "fouille" dans les fichiers du répertoire /home/delcros/personnel/html/. Le résultat est le nom des fichiers qui contiennent l'occurence. Ici, seul le fichier "linux-commande.html" dans le répertoire contient le mot "fouille". Quelques-unes des autres options :
-c donne le nombre de fois où l'expression rationnelle a été rencontrée dans le fichier :
[delcros@mistra delcros]$ grep -c fouille linux-commande.html
10
-n est utile lorsque vous cherchez une expression rationnelle qui commence par un tiret car si vous n'utilisez pas l'option -n, grep la considèrera comme une option !