Introduction à l’utilitaire

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Introduction au Langage C,C++
Vocabulaire pour la passage du modèle conceptuel des données au modèle relationnel des données. MCDMRD EntitéTable PropriétésChamps, attribut IdentifiantClé
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
C.
Algorithme et programmation
Initiation à la programmation et algorithmique cours 3
Les bases de l’Algorithmique
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Regrouper des éléments de même type et pouvoir y accéder à laide dun identificateur et dun indice. Objectif des tableaux.
CPI/BTS 2 Programmation Web Introduction au PHP
Structures de données linéaires
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Filtre programmable nawk(1)
Analyse lexicale Généralités Expressions rationnelles Automates finis
CSI3525: Concepts des Langages de Programmation Notes # 12: Implementation des Sous-Programmes ( Lire Chapitre 9 )
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Outils de Programmation
Programmation multimédia 3
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Le langage Javascript pour le web
Une nouvelle structure de données : les tableaux
Le langage ASP Les formulaires avec Request. Les formulaires sont employés pour transmettre des informations saisies par un client à une application Web.
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
Principes de programmation (suite)
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Programmation nawk(1)
Principes de programmation
GPA435, GPA – ÉTS, T. Wong Génie de la production automatisée GPA435 Système dexploitation et programmation de système Chapitre 6 Partie I 2014.
PHP Gestion des systèmes d’information Classe terminale
IFT 6800 Atelier en Technologies d’information
Chapitre 9 Les sous-programmes.
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI3525: Concepts des Langages de Programmation Notes # 6: Langages de Programmation Fonctionelle II: Introduction au ML.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
L’essentiel du langage C
1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 8 Filtres UNIX.
Animateur : Med HAIJOUBI
Le langage C Structures de données
SIF-1053 Architecture des ordinateurs
Algorithmes de tri et de recherche
Décomposition et paramétrage des algorithmes
Un survol du language C.
Sémantique des expressions arithmétiques pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
 Syntaxe du langage PHP
STATISTIQUES – PROBABILITÉS
Exemple à faire: N°2 Ecrire l’Algorithme et le Programme PASCAL qui affiche la somme de deux nombres entiers donnés.
Strings et Tableaux en Java
Structures simples et tableaux Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Les types composés Les enregistrements.
CSI 3525, Implémentation des sous-programmes, page 1 Implémentation des sous-programmes L’environnement dans les langages structurés en bloc La structure.
Cours LCS N°4 Présenté par Mr: LALLALI
Introduction au langage C Les entrées-sorties
Mettre en formeExaminerManipuler Les fonctions printf() et sprintf Le traitement de chaîne de caractère La fonction printf() formate le contenu d'une chaîne.
Les entrées-sorties élémentaires
Scripts et fonctions Instructions de contrôle
PRO-1027 Programmation Scientifique en C
Chapitre 4 La représentation des nombres.
Algorithmique Tableaux de données
Objets et Actions Élémentaires.
Introduction au langage PL/SQL
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Algorithmique Boucles et Itérations
PhP 2. Tableaux et structures de contrôle. Les tableaux Définition –Rassemblement d’un ensemble de valeurs portant le même nom de variable –Types de tableaux.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Transcription de la présentation:

Introduction à l’utilitaire awk

Utilité L’utilitaire awk recherche un ou plusieurs patterns dans un ou plusieurs fichiers et applique certaines actions sur les enregistrements sélectionnés. Synopsis awk [-Fc] –f program-file [file-list] awk program [file-list] Fichier contenant le programme awk à appliquer Délimiteur de champ spécifique Fichier(s) à traiter Programme awk à même la ligne de commande Note: délimiteurs par défaut: SPACE TAB et

Aperçu du fonctionnement pattern { action } programme awk i n fichier à traiter k n for (k = 0; k < n; k++) for (i = 0; i < n; i++) if (k.match(i.pattern)) i.action;

Patterns Expressions régulières, /regex/, avec ou sans opérateurs ~ (=) et !~ (!=) exemples: /tion/ enregistrements contenant la chaîne tion $1 ~ /tion/ enregistrements dont le 1er champ contient tion $3 !~ /tion/ enregistrements dont le 3e champ ne contient pas la chaîne tion

Patterns (suite) Opérateurs relationnels (fonctionnent sur les nombres ainsi que sur les lettres): <, <=, ==, !=, >= et > exemples: $1 > $2 enregistrements où la valeur 1er champ est supérieure à celle du 2e “$4” == “alpha” enregistrements dont le 4e champ est alpha

Patterns (suite) Opérateurs booléens: || (ou) et && (et) exemple: $3 >= 10 && $3 < 20 enregistrements où la valeur 3e champ est supérieure ou égale à 10 et inférieure à 20 Intervalles (spécifiés avec une virgule) /début/,/fin/ enregistrements inclus entre les bornes /début/ et /fin/. Les bornes sont incluses dans l’intervalle. Le traitement de l’intervalle est récurrent.

Patterns (suite) Identificateurs uniques: BEGIN et END exemple: l’identificateur BEGIN permet d’effectuer une action avant de commencer le traitement des fichiers. l’identificateur END permet d’effectuer une action après que le traitement des fichiers soit complété. exemple: BEGIN { print “Début du traitement” } affiche la chaîne “Début du traitement” sur la sortie standard au lancement du programme, avant de commencer le traitement du/des fichier(s)

Actions Action par défaut: print print affiche sur la sortie standard. il est possible de rediriger la sortie avec >, >> et |. Il est possible de spécifier plusieurs actions sur une même ligne avec ; : pattern { action; action; action; } Les actions peuvent être composées d’opérations logiques et arithmétiques, de fonctions, de variables, de tableaux associatifs, de structures itératives et de structures conditionnelles.

Actions (suite) exemple: $cat total.awk BEGIN { total = 0; dix = 0 } END { printf "Total: %d, Dix: %d\n",\ total, dix } $awk –f total.awk nombres.txt Total: 98, Dix: 2 $

Actions (suite) exemple: $cat pgvp.awk BEGIN { pgv = -1 } $1 > pgv { pgv = $1 } END { if (pgv == -1) { printf "Valeurs negatives\n" } else printf "Plus grande valeur: %d\n",\ pgv $awk –f pgvp.awk nombres.txt Plus grande valeur: 23 $

Commentaires Tout ce qui suit le symbole # sur une ligne est considéré comme un commentaire exemple: $cat commentaires.awk BEGIN { pgv = -1 # initialisation } $1 > pgv { # si 1er champ > valeur sauvegardee, # 1er champ devient valeur a battre pgv = $1 } END { printf "Plus grande valeur: %d\n",\ pgv } $awk –f pgvp.awk nombres.txt Plus grande valeur: 23 $

Variables NR $0 NF $1 à $n FS OFS RS ORS FILENAME numéro de l’enregistrement courrant enregistrement courrant nombre de champs dans l’enregistrement courrant les champs délimiteur de champs en entrée par défaut: et délimiteur de champs en sortie par défaut: délimiteur d’enregistrement en entrée délimiteur d’enregistrement en sortie nom du fichier en traitement NEWLINE SPACE TAB

Fonctions length(str) int(num) index(str1,str2) retourne la longueur de la chaîne de caractères str si str n’est pas spécifié, retourne la longueur de l’enregistrement courrant int(num) retourne la portion entière de num index(str1,str2) retourne la position de str2 dans str1 ou 0 si str1 ne contient pas la chaîne str2

Fonctions (suite) split(str,arr,del) sprintf(fmt,args) construit un tableau de jetons (arr) où chacun de ces derniers est un champ de la chaîne str découpé à l’aide du délimiteur del retourne la taille du tableau créé sprintf(fmt,args) retourne la chaîne args formatée d’après le format fmt (fonctionne comme la fonction C du même nom) substr(str,pos,len) retourne une chaîne de caractères tirées de str à partir de la position pos et de longueur len

Opérateurs arithmétiques Tous les opérateurs suivants sont supportés: *, /, %, +, -, =, ++, --, +=, -=, *=, /= et %=.

Tableaux associatifs Un tableau associatif utilise des chaînes de caractères (appelées clés) comme indices: array[string] = value Une construction particulière de boucle facilite le parcours des tableaux associatifs: for (elem in array) action Note: il est également possible de simuler un tableau traditionnel en utilisant des chaînes de caractères numériques…

La fonction printf Fonctionnement similaire à celui du langage C: printf “control-string” arg1, arg2, …, argn La chaîne de formatage (control-string) des spécifications de conversion ayant la forme suivante: %[-][x[.y]]conv - x .y conv justification à gauche largeur minimale du champ affiché nombre de décimales, s’il y a lieu type du paramètre

La fonction printf (suite) Les types de paramètres supportés (conv) sont: d nombre entier e notation exponentielle f nombre à point flottant g utiliser le plus court entre e ou f o octal s chaîne de caractères x hexadécimal dans la chaîne de formatage: utiliser \n pour un changement de ligne ( ) utiliser \t pour introduire une tabulation ( ) NEWLINE TAB

Exemples…