La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Filtre programmable nawk(1)

Présentations similaires


Présentation au sujet: "1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Filtre programmable nawk(1)"— Transcription de la présentation:

1 1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Filtre programmable nawk(1)

2 2 Filtres programmable nawk(1) Il sagit dun programme UNIX capable dinterpréter un programme utilisateur.Il sagit dun programme UNIX capable dinterpréter un programme utilisateur. Le programme doit être écrit en utilisant les instructions légales et selon le format de nawk(1).Le programme doit être écrit en utilisant les instructions légales et selon le format de nawk(1). Le concept de programmation est appelé « piloté par données » (data-driven).Le concept de programmation est appelé « piloté par données » (data-driven). On peut utiliser le nawk(1) pour:On peut utiliser le nawk(1) pour: –Valider des concepts de programmation –Automatiser les tâches de gestion –Évaluer rapidement les algorithmes –etc. Système dexploitation UNIX

3 3 Invocation de nawk(1) Le synopsis de nawk(1) :Le synopsis de nawk(1) : nawk [-F c] [-f prog | 'prog' ] [-v var=valeur…] [fich1 fich2 …] Chaque ligne dentrée est séparée en champs $0, $1, $2, $3, etc. Ces champs nont rien à voir avec les $1, $2,... de Bourne shell. On peut spécifier un programme nawk(1) dans un fichier par l option -f ou lécrire directement entre apostrophes. Système dexploitation UNIX

4 4 Invocation de nawk(1) Les données à traiter sont contenues dans les fichiers fich1, fich2,.… ou acheminées via lentrée standard.Les données à traiter sont contenues dans les fichiers fich1, fich2,.… ou acheminées via lentrée standard. Le programme nawk(1) proprement dit est une séquence de « patron - action ».Le programme nawk(1) proprement dit est une séquence de « patron - action ». On peut passer des paramètres à un programme nawk(1) par loption -v.On peut passer des paramètres à un programme nawk(1) par loption -v. –Cette option est utile lorsque nawk(1) est utilisée à lintérieur dun fichier de commande (Bourne shell par exemple). –Par exemple, on peut passer la valeur des variables dun programme Bourne shell à des variables dun programme nawk(1). Système dexploitation UNIX

5 5 Filtres programmable nawk(1) Son principe de fonctionnement:Son principe de fonctionnement: Système dexploitation UNIX

6 6 Programmation nawk(1) Système dexploitation UNIX Voici un premier exemple. Le programme nawk(1) est spécifié directement entre apostrophes. Voici un premier exemple. Le programme nawk(1) est spécifié directement entre apostrophes.

7 7 Programmation nawk(1) Système dexploitation UNIX Nous pouvons également spécifier le programme nawk(1) dans un fichier. Nous pouvons également spécifier le programme nawk(1) dans un fichier. Loption -f est obligatoire. Loption -f est obligatoire. Il est recommandé dutiliser un fichier source surtout lorsquil comporte beaucoup de lignes. Il est recommandé dutiliser un fichier source surtout lorsquil comporte beaucoup de lignes. Lutilisation dun fichier source facilite la compréhension surtout pour les novices. Lutilisation dun fichier source facilite la compréhension surtout pour les novices.

8 8 Programmation nawk(1) Nous pouvons utiliser nawk(1) dans un fichier de commande. Nous pouvons utiliser nawk(1) dans un fichier de commande. Système dexploitation UNIX

9 9 Structure dun programme (1) La structure d un programme nawk(1) est une séquence de « patron - action »: La structure d un programme nawk(1) est une séquence de « patron - action »: Le programme est toujours entouré de ' ' sil est spécifié dans la ligne de commande. Le programme est toujours entouré de ' ' sil est spécifié dans la ligne de commande. Il doit exister au moins un caractère blanc (Espace ou Tab) entre le patron et son action. Il doit exister au moins un caractère blanc (Espace ou Tab) entre le patron et son action. Les patrons sont évalués dans lordre spécifié. Les patrons sont évalués dans lordre spécifié. Système dexploitation UNIX

10 10 Structure dun programme (2) Les déclarations « patron - action » peuvent ne pas contenir de patron OU daction. Les déclarations « patron - action » peuvent ne pas contenir de patron OU daction. Une déclaration sans patron laction correspondante est toujours exécutée peu importe la ligne dentrée. Une déclaration sans patron laction correspondante est toujours exécutée peu importe la ligne dentrée. Une déclaration sans action la ligne dentrée est affichée à la sortie standard (équivalent à print $0) si elle satisfait le critère spécifié par le patron. Une déclaration sans action la ligne dentrée est affichée à la sortie standard (équivalent à print $0) si elle satisfait le critère spécifié par le patron. On peut considérer un patron comme un filtre doù lappellation « filtre programmable » On peut considérer un patron comme un filtre doù lappellation « filtre programmable » Système dexploitation UNIX

11 11 Structure dun programme (3) Un exemple illustratif: Un exemple illustratif: Système dexploitation UNIX Une déclaration sans patron (sans filtre) Une déclaration sans action (activation de laction par défaut qui est le print $0)

12 12 Structure dun programme (4) Système dexploitation UNIX La première accolade est toujours placée sur la même ligne que le patron. La première accolade est toujours placée sur la même ligne que le patron. On peut utiliser le point-virgule (;) pour séparer les instructions dune même ligne. On peut utiliser le point-virgule (;) pour séparer les instructions dune même ligne. Ces deux styles décriture sont équivalents.

13 13 Activités de traitement (1) Système dexploitation UNIX Voici les activités réalisées par nawk(1) lors de lexécution dun programme utilisateur. On remarque quil y a un ensemble dopérations effectuées par nawk(1) qui facilitent grandement la programmation.

14 14 Système dexploitation UNIX Pour chaque ligne dentrée (dun fichier ou de lentrée standard), nawk(1) effectue l appariement entre les champs de la ligne et chacun des patrons du programme. Donc, ce nest pas un simple case - esac !!

15 15 Chapitre 9 Système dexploitation UNIX Fin de la première partie. Fin de la première partie. Consulter la référence: Consulter la référence: Aho, A. V. et al., The AWK Programming Language, Reading, Mass: Addison-Wesley, 1988


Télécharger ppt "1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Filtre programmable nawk(1)"

Présentations similaires


Annonces Google