"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 |