Exercice 19.10 (19.10.1 et 19.10.2) :



Exercice 19.10.1 : Les options de grep :

1. Quelles sont les options de grep qui permettent d'obtenir des lignes de contexte (qui précèdent et/ou suivent la ligne où figure le mot) ?
Pour obtenir les lignes de contexte, voici les différentes options :
            -A  nombre : affiche le nombre de lignes après la ligne où figure le mot recherché.
            - B nombre : affiche le nombre de lignes avant la ligne où figure le mot recherché.
            - C : affiche deux lignes avant et après la ligne où figure le mot.
            - nombre : affiche le nombre de ligneavant et après la ligne où figure le mot.

2. Comment faire apparaître le numéro de la ligne où figure le mot recherché ? Que se passe-t-il quand on demande également des lignes de contexte ?
L’option -n fait apparaître le numéro de la ligne où figure le mot recherché. Quand on demande le numéro en plus des lignes de contexte, grep affiche les numéros de toutes les lignes, soit la ligne recherchée est suivie de « : » puis le mot, soit « - » pour les lignes où le mot est absent.

3. Comment faire pour afficher le nombre d'occurences du mot recherché ?
Pour afficher le nombre d’occurrences du mot recherché:
                        grep mot fichier  | wc -l

4. Comment faire pour que grep ignore la casse des caractères (différence entre majuscules et minuscules) dans sa recherche ?
L’utilisation de l’option -i avec grep permet d’ignorer la casse des caractères.

5. Comment faire pour faire apparaître non pas les lignes où figure le mot, mais les noms des fichiers ?
L'option -l s’emploie pour faire apparaître les noms des fichiers.

6. Comment faire apparaître les lignes où ne figure pas le mot recherché ?
L'option -v est employée pour faire apparaître les lignes où ne figurent pas le    mot recherché.

7. Comment faire apparaître les noms des fichiers ne contenant pas le mot recherché ?
L'option -L est utilisée pour faire apparaître les fichiers où ne figurent pas le mot recherché.

8. Comment faire pour que grep ne recherche que les lignes où figure le mot tel quel, et non pas ses variantes ? Par exemple : on cherche le mot «travail», mais pas «travailleur» ou «travailler».
La commande est : grep -o.

9. Comment faire pour chercher plusieurs mots à la fois en faisant apparaître les numéros des lignes ?
Pour chercher plusieurs mots à la fois, on utilise l'option -e avant chaque motif.
Pour faire apparaître les numéros des lignes, on ajoute l'option -n.


Exercice 19.10.2 : Introduction aux expressions régulières :
Texte de travail : ZOLA

Lien vers le texte Zola1
Lien vers le texte Zola2
Lien vers le texte Zola3
Lien vers le texte Zola4
Lien vers le texte Zola5
Lien vers le texte Zola6


1. Chercher toutes les lignes commençant par «a» ou «A» : Résultat
grep ^[Aa]  zola1.txt

2. Chercher toutes les lignes finissant par «rs» : Résultat
grep  rs$  zola2.txt

3. Chercher toutes les lignes contenant au moins un chiffre : Résultat
grep  [0-1]  zola2.txt

4. Chercher toutes les lignes commençant par une majuscule : Résultat
grep  ^[A-Z]  zola3.txt

5. Chercher toutes les lignes commençant par «B», «E» ou «Q» : Résultat
grep   ^[BEQ]  zola4.txt

6. Chercher toutes les lignes finissant par un point d'exclamation : Résultat
grep  \!$  zola5.txt

7. Chercher toutes les lignes ne finissant pas par un signe de ponctuation (point, virgule, point-virgule, deux-points, point d'interrogation, point d'exclamation) : Résultat
grep  [^ \. \, \; \: \? \!] $ zola5.txt

8. Chercher tous les mots contenant un «r» précédé de n'importe quelle lettre majuscule ou minuscule : Résultat
grep  -o  [A-Za-z]\*r [A-Za-z]\*  zola6.txt

9. Chercher tous les mots dont la seconde lettre est un «r» : Résultat
grep -o  [A-Za-z]r[A-Za-z]\*  zola6.txt