14. La commande grep et les expressions rationnelles

14.1. Exercices

0. Trouver les lignes vides.


$ grep "^$" jeu_essai.txt
  

1. Chaîne contenant au minimum 3 "p".


$ grep -E p{3,} jeu_essai.txt
le le le langage gage ge ppppppperl ppeeerrrllll peeerrlllll peerrlllll
  

2. Mot terminé par "age".


$ grep "age\>" jeu_essai.txt
perl Parler parle perl langage
alpha qwertz exe language
Langage
Language
Le langage c ou perl
le le le langage gage ge ppppppperl ppeeerrrllll peeerrlllll peerrlllll
le language C ou Perl
ami   tel            age
  

3. Mot terminé par "guage" ou "gage".


$ grep "g[u]*age\>" jeu_essai.txt
perl Parler parle perl langage
alpha qwertz exe language
Langage
Language
Le langage c ou perl
le le le langage gage ge ppppppperl ppeeerrrllll peeerrlllll peerrlllll
le language C ou Perl
ami   tel            age
  

4. Chaîne contenant "rla".


$ grep "rla" jeu_essai.txt
perlant
parlant
Parlant
  

5. Lignes terminées par "ans".


$ grep "ans$" jeu_essai.txt
joe   05-55-33-22-55 23 ans
bar   10-23-22-55-63 35 ans
team 03-02-21-12-25 99 ans
  

6. Chaîne contenant les sous-chaînes "alpha" ou "exe".


$ grep "exe\|alpha" jeu_essai.txt
alpha qwertz exe language
exe qwertz
qwertz alpha
exe qwertz
qwertz alpha
  

7. Ligne ne commençant pas par un chiffre.


$ grep "^[^0-9]" jeu_essai.txt # (sans les quotes c'est bon aussi)
Perl
perle
perlant
parlant
Parlant
parler
perl Parler parle perl langage
alpha qwertz exe language
exe qwertz
qwertz alpha
exe qwertz
qwertz alpha
Langage
Language
Le langage c ou perl
le le le langage gage ge ppppppperl ppeeerrrllll peeerrlllll peerrlllll
le language C ou Perl
zéro un deux trois quatre cinq six sept huit neuf
ami   tel            age
joe   05-55-33-22-55 23 ans
bar   10-23-22-55-63 35 ans
team 03-02-21-12-25 99 ans
  

8. Ligne commençant par une voyelle ou un chiffre.


$ grep "^[aeiouy]\|^[0-9]" jeu_essai.txt
alpha qwertz exe language
exe qwertz
exe qwertz
02.03.05.03
03.236.5696
0 1 2 3 5 6 7 8 9
400000 401000 402000 403000 404000 405000
400 401 402 403 404 405
4 41 42 43 44 45
4 1 2 3 4 5
ami   tel            age
  

9. Ligne ne commençant pas par une voyelle.


$ grep "^[^aeiouy]" jeu_essai.txt
Perl
perle
perlant
parlant
Parlant
parler
perl Parler parle perl langage
qwertz alpha
qwertz alpha
Langage
Language
Le langage c ou perl
le le le langage gage ge ppppppperl ppeeerrrllll peeerrlllll peerrlllll
le language C ou Perl
02.03.05.03
03.236.5696
zéro un deux trois quatre cinq six sept huit neuf
0 1 2 3 5 6 7 8 9
400000 401000 402000 403000 404000 405000
400 401 402 403 404 405
4 41 42 43 44 45
4 1 2 3 4 5
joe   05-55-33-22-55 23 ans
bar   10-23-22-55-63 35 ans
team 03-02-21-12-25 99 ans
  

10. Ligne commençant ou se terminant par un chiffre.


$ grep "^[0-9]\|[0-9]$" jeu_essai.txt
02.03.05.03
03.236.5696
0 1 2 3 5 6 7 8 9
400000 401000 402000 403000 404000 405000
400 401 402 403 404 405
4 41 42 43 44 45
4 1 2 3 4 5
  

11. Les lignes qui font moins de 10 caractères.


$ grep "^.\{1,10\}$" jeu_essai.txt
Perl
perle
perlant
parlant
Parlant
parler
exe qwertz
exe qwertz
Langage
Language