"grep" est un filtre, c'est à dire un programme qui selectionne automatiquement les lignes d'un fichier possédant telle ou telle propriété. Le filtre "grep" permet de sélectionner les lignes contenant une certaine expression régulière, c'est à dire un motif flexible décrivrant un ensemble de chaines de caractères.
Par exemple, l'expression "...di" décrit les chaines "lundi" et "mardi" (et toute autre chaine de 3 caractères se terminant par "di"). L'expression "[Pp]hosphorylase" décrit les chaines "Phosphorylase"et "phosphorylase"
La commande "grep" a la forme: grep <expression regulière> <fichier> (si l'on veut afficher toutes les lignes répondant à l'expression), ou bien grep -c <expression regulière> <fichier> (si l'on veut juste compter toutes les occurences).
L'option -i permet d'ignorer les majuscules/minuscules (ex: "grep -i "(adn)|(arn)" fichier")
Voici les caractères que l'on peut utiliser dans les expressions
régulières Unix.
| ^ | Le début d'une ligne |
| . | Tout caractère (sauf newline) |
| $ | La fin d'une ligne |
| | | Choix. A|B: A ou B |
| () | Groupement de caractères |
| [] | Classe de caracteres. [AGUC]: A,G,U ou C |
| \ | Avant un caractère spécial
qu'on ne veut pas prendre en compte comme tel car il fait partie de la chaine recherchée |
| Les commandes suivantes sont à placer après le caractère concerné | |
| * | 0 fois ou plus |
| + | une fois ou plus |
| ? | une fois ou zero |
| {n} | exactement n fois |
| {n,} | au moins n fois |
| {n,m} | de n a m fois |