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 lignes avant 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