Vous êtes sur la page 1sur 7

Solution des Exercices

E1) Donnez l'explication des expressions régulières suivantes :

a) ^[ABC]
REP: A,B ou C en début de ligne

b) ^[^ABC]
REP: tous les caractères en début de ligne sauf A,B ou C

c) [^ABC]
REP: tous les caractères sauf A,B ou C

d) ^[^a-z]$
REP: sur une ligne un caractères autre qu'une lettre minuscule

e) [.]
REP: le caractère point

f) ^[^^]
REP : tout caractère sauf le chapeau ^ en début de ligne

E2) Donnez des exemples de chaînes de caractères valides en fonction du patron

a) B* REP: "", B, BB, BBB, BBB…B, …

b) AB*C REP: AC, ABC, ABBC, ABBBC, ABB…BC, …

c) AB+C REP: ABC, ABBC, ABBBC, ABB…BC, …

d) ABB*C REP: ABC, ABBC, ABBBC, ABB…BC, …

e) AB?C REP: AC, ABC

f) [A-Z]+ REP: une ou plusieurs fois une lettre majuscule C, CC, CCC, C…C ,…

g) (AB)+C REP: ABC, ABABC, ABABABC, ABAB…ABC, …

h) (Pierre|Paul|Luce) (M|F) Membre


REP: Pierre M Membre
Pierre F Membre
Paul M Membre
Paul F Membre
Luce M Membre
Luce F Membre

GPA435, Marie-Chantal Denis cours 9 page : 1 de 7


E3) Trouvez l'expression régulière qui permettrait de représenter :

a) le numéro d'assurance social d'une personne : 234-567-234


REP: [0-9] [0-9] [0-9]- [0-9] [0-9] [0-9]- [0-9] [0-9] [0-9]
ou [0-9]\{3\}-[0-9]\{3\}-[0-9]\{3\}

b) le code permanent d'un étudiant: DENM23453423


REP: [A-Z] [A-Z] [A-Z] [A-Z] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]
ou [A-Z]\{4\}[0-9] \{8\}

c) une adresse de courrier électronique: marie@serveur.com


REP: [ ].*[@].*[ ]

d) une ligne vide : ""


REP: ^$

e) toutes les lignes


REP: ^.*$

f) seulement une ligne de chiffres


REP: ^[0-9]+$

g) seulement une ligne avec un nombre décimal ayant les formats suivants :
+23.45
234.560
345
-23
-234.6745
REP: ^(+|-)?[0-9]+\.?[0-9]*$
ou ^[+-]?[0-9]+[.]?[0-9]*$

GPA435, Marie-Chantal Denis cours 9 page : 2 de 7


Solution des Exercices
E4) Écrivez un programme shell qui permettrait :
Soit les fichiers suivants obtenus par la commande ls –al

drwxr-xr-x 4 denis recherche 512 nov 11 2001 ./


drwxr--r-x 10 denis recherche 1024 nov 6 19:37 ../
-rw-r--r-- 1 denis recherche 78 nov 5 11:56 .mot3
-rw-r--r-- 1 denis recherche 127 nov 5 11:59 comparaison
-rwxr--r-- 1 denis recherche 283 nov 11 15:51 E4a*
-rwxr--r-- 1 denis recherche 327 nov 11 15:57 E4b*
-rwxr--r-- 1 denis recherche 417 nov 11 16:03 E4c*
-rwxr--r-- 1 denis recherche 368 nov 11 2001 E4d*
-rw-r--r-- 1 denis recherche 79 nov 5 12:27 liste
-rw-r--r-- 1 denis recherche 166 nov 5 12:10 mich2
-rw-r--r-- 1 denis recherche 155 nov 5 12:08 michelle
drwxr-xr-x 2 denis recherche 512 nov 5 12:04 mot/
-rw-r--r-- 1 denis recherche 79 nov 5 11:56 mot1
-rw-r--r-- 1 denis recherche 78 nov 5 11:56 mot2
-rw-r--r-- 1 denis recherche 142 nov 5 00:56 nas
-rw-r--r-- 1 denis recherche 79 nov 5 14:43 newtel
-rw-r--r-- 1 denis recherche 65 nov 5 14:42 nomtel
-rwxr--r-- 1 denis recherche 182 nov 5 12:43 prob82*
-rwxr--r-- 1 denis recherche 264 nov 5 12:45 prob822*
drwxr-xr-x 2 denis recherche 512 nov 11 2001 tel/
-rw-r--r-- 1 denis recherche 109 nov 5 14:40 tel2p
-rw-r--r-- 1 denis recherche 12 nov 5 14:38 telcarac
-rw-r--r-- 1 denis recherche 116 nov 5 12:14 telephone
-rw-r--r-- 1 denis recherche 116 nov 5 14:24 telmaj
-rw-r--r-- 1 denis recherche 109 nov 5 12:24 telnew
-rw-r--r-- 1 denis recherche 109 nov 5 14:30 telretour
-rw-r--r-- 1 denis recherche 110 nov 5 14:25 telsex
-rw-r--r-- 1 denis recherche 109 nov 5 14:27 teltab
-rw-r--r-- 1 denis recherche 117 nov 5 12:49 testdat
-rw-r--r-- 1 denis recherche 14 nov 5 14:43 ville

GPA435, Marie-Chantal Denis cours 9 page : 3 de 7


a) d'afficher seulement les répertoires du répertoire courant

REP : début de ls-l par un d : ^d


#!/bin/sh
# E4 a) trouver les répertoires du répertoire courant

# commande ls –al
# cherche chaîne avec grep qui débute avec d
# redirige la solution dans un fichier texte
ls –al | grep '^d' > solution

# affichage du résultat
echo "Voici les répertoires de `pwd` : "
cat solution

EXECUTION DU FICHIER E4a

deci 21> E4a


Voici les répertoires de /export/home/exa/personnel/denis/ch8 :
drwxr-xr-x 4 denis recherche 512 nov 11 2001 .
drwxr--r-x 10 denis recherche 1024 nov 6 19:37 ..
drwxr-xr-x 2 denis recherche 512 nov 5 12:04 mot
drwxr-xr-x 2 denis recherche 512 nov 11 15:29 tel

b) d'afficher seulement les fichiers du répertoire courant

REP : début de ls-l par un - : ^-

#!/bin/sh
# E4 a) trouver les fichiers du répertoire courant

# commande ls –al
# cherche chaîne avec grep qui débute avec -
# redirige la solution dans un fichier texte
ls –al | grep '^-' > solution

# affichage du résultat
echo "Voici les fichiers de `pwd` : "
cat solution

# effacement du fichier temporaire


rm –f solution

GPA435, Marie-Chantal Denis cours 9 page : 4 de 7


EXECUTION DU FICHIER E4b

deci 25> E4b


Voici les fichiers de /export/home/exa/personnel/denis/ch8 :
-rw-r--r-- 1 denis recherche 78 nov 5 11:56 .mot3
-rw-r--r-- 1 denis recherche 127 nov 5 11:59 comparaison
-rwxr--r-- 1 denis recherche 283 nov 11 2001 E4a
-rwxr--r-- 1 denis recherche 327 nov 11 2001 E4b
-rwxr--r-- 1 denis recherche 417 nov 11 16:03 E4c
-rwxr--r-- 1 denis recherche 368 nov 11 2001 E4d
-rw-r--r-- 1 denis recherche 79 nov 5 12:27 liste
-rw-r--r-- 1 denis recherche 166 nov 5 12:10 mich2
-rw-r--r-- 1 denis recherche 155 nov 5 12:08 michelle
-rw-r--r-- 1 denis recherche 79 nov 5 11:56 mot1
-rw-r--r-- 1 denis recherche 78 nov 5 11:56 mot2
-rw-r--r-- 1 denis recherche 142 nov 5 00:56 nas
-rw-r--r-- 1 denis recherche 79 nov 5 14:43 newtel
-rw-r--r-- 1 denis recherche 65 nov 5 14:42 nomtel
-rwxr--r-- 1 denis recherche 182 nov 5 12:43 prob82
-rwxr--r-- 1 denis recherche 264 nov 5 12:45 prob822
-rw-r--r-- 1 denis recherche 233 nov 11 2001 solution
-rw-r--r-- 1 denis recherche 109 nov 5 14:40 tel2p
-rw-r--r-- 1 denis recherche 12 nov 5 14:38 telcarac
-rw-r--r-- 1 denis recherche 116 nov 5 12:14 telephone
-rw-r--r-- 1 denis recherche 116 nov 5 14:24 telmaj
-rw-r--r-- 1 denis recherche 109 nov 5 12:24 telnew
-rw-r--r-- 1 denis recherche 109 nov 5 14:30 telretour
-rw-r--r-- 1 denis recherche 110 nov 5 14:25 telsex
-rw-r--r-- 1 denis recherche 109 nov 5 14:27 teltab
-rw-r--r-- 1 denis recherche 117 nov 5 12:49 testdat
-rw-r--r-- 1 denis recherche 14 nov 5 14:43 ville

GPA435, Marie-Chantal Denis cours 9 page : 5 de 7


c) d'afficher seulement les fichiers cachés du répertoire courant

REP : le nom du fichier débute par . en partant de la fin de la ligne

#!/bin/sh
# E4 c) d'afficher seulement les fichiers cachés du répertoire courant

# commande ls –al
# cherche chaîne avec grep
# expresion : en partant de la fin de la ligne un point suivie de caractères
# redirige la solution dans un fichier texte
ls –al | grep '\..*$' > solution

# affichage du résultat
echo "Voici les fichiers cachés de `pwd` : "
cat solution

# effacement du fichier temporaire


rm –f solution

EXECUTION DU FICHIER E4c

deci 28> E4c


Voici les fichiers cachés de /export/home/exa/personnel/denis/ch8 :
drwxr-xr-x 4 denis recherche 512 nov 11 2001 .
drwxr--r-x 10 denis recherche 1024 nov 6 19:37 ..
-rw-r--r-- 1 denis recherche 78 nov 5 11:56 .mot3

GPA435, Marie-Chantal Denis cours 9 page : 6 de 7


d) d'afficher seulement les fichiers exécutables du répertoire courant

REP : ls et l'on voit une * au bout du nom du fichier

#!/bin/sh
# E4 d) d'afficher seulement les fichiers exécutables du répertoire courant

# commande ls –al
# cherche chaîne avec grep une étoile à la fin etoile
# redirige la solution dans un fichier texte
ls –al | grep '\*$' > etoile

# affichage du résultat
echo "Voici les fichiers exécutable de `pwd` : "
cat etoile

# effacement du fichier temporaire


rm –f etoile

EXECUTION DU FICHIER E4d

deci 50> E4d


Voici les fichiers exécutable de /export/home/exa/personnel/denis/ch8 :
-rwxr--r-- 1 denis recherche 283 nov 11 15:51 E4a*
-rwxr--r-- 1 denis recherche 327 nov 11 15:57 E4b*
-rwxr--r-- 1 denis recherche 417 nov 11 16:03 E4c*
-rwxr--r-- 1 denis recherche 362 nov 11 2001 E4d*
-rwxr--r-- 1 denis recherche 182 nov 5 12:43 prob82*
-rwxr--r-- 1 denis recherche 264 nov 5 12:45 prob822*

GPA435, Marie-Chantal Denis cours 9 page : 7 de 7

Vous aimerez peut-être aussi