TD2 : Scripts bash

5 downloads 146 Views 28KB Size Report
Écrivez le script mgrep fichier motcle ... motcle qui affiche la liste des mot ... ligne) ; -x interdit ou --exclude interdit (n'affiche pas les mots clés trouvés si le fichier ...
TD2 : Scripts bash I.

Motifs

´ 1) Ecrivez le script cbs qui lit l’entr´ee standard et compte le nombre de lignes contenant le mot ≪ bonjour ≫ en minuscules (read, case, wc). 2) Modifiez le script cbs pour qu’il affiche le nombre de lignes contenant ≪ bonjour ≫ sans contenir le mot ≪ salut ≫.

II.

D´ ecodage des arguments

´ 1) Ecrivez le script mgrep fichier motcle ... motcle qui affiche la liste des mot cl´es figurant dans le fichier, ou un message d’aide dans tous les cas d’erreurs. On demande de se servir de la commande grep motcle fichier qui r´eussi si au moins une occurence est trouv´ee, en s’arrangeant pour qu’elle n’affiche rien `a l’´ecran. 2)

Modifiez le script mgrep en rajoutant une fonction AffiUsage charg´ee d’afficher l’aide.

3) Modifiez le script mgrep de telle fa¸con qu’il accepte les options suivantes avant le nom de fichier : -h ou --help (affichage de l’aide) ; -l ou --long (affichage du nom du fichier en d´ebut de chaque ligne) ; -x interdit ou --exclude interdit (n’affiche pas les mots cl´es trouv´es si le fichier contient le mot interdit). Utiliser case pour d´ecoder les arguments.

Rappels ⊲ La commande ≪ read variable ≫ lit une ligne sur l’entr´ee standard et l’affecte `a la variable indiqu´ee. Cette commande ´echoue si elle rencontre la fin du fichier d’entr´ee. ⊲ Le shell substitue $$ par le num´ero de processus du shell ; on peut s’en servir par exemple pour cr´eer un nom de fichier temporaire unique. ⊲ wc -l affiche le nombre de lignes lues sur l’entr´ee standard. ⊲ Les commandes true et false r´eussissent et ´echouent respectivement, sans rien afficher. ⊲ La redirection >| force l’´ecrasement dans le cas o` u le fichier existe d´ej`a (en bash uniquement).

Programmation Unix, UE SIN4U2, Edouard Thiel



CC BY-NC



http://pageperso.lif.univ-mrs.fr/~edouard.thiel/ens/unix/

1