Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #8: Introduction aux filtres - Filtres UNIX Enseignant: Jean-Philippe.

Slides:



Advertisements
Présentations similaires
Produit Gammes Nomenclatures Modules Techniques Prix de Revient Prix de Vente Modules Techniques Client Marges Mise en route Temps Unitaire Prix (Ex:
Advertisements

Académie de Créteil - B.C.
A l’issue des conseils de classe de 3ème,
Qui a le nombre qui vient après 8 ?
Mon carnet De comportement
Proposition de recherches sur ABI (Pro Quest) Lise Herzhaft (Urfist de Lyon) et MH Prévoteau (Bibliothèque Université Paris 2) Mise en forme par Nolwenn.
Classe : …………… Nom : …………………………………… Date : ………………..
Les Prepositions.
1 V-Ingénierie… La compétence au service de lexigence… vous présente.
Académie de Créteil - B.C.1. 2 Pour information : Une action est lexpression temporelle Une action est lexpression temporelle (date début et date finde.
Le Modèle Logique de Données
Architecture de réseaux
Présentation I-Prof Ecrans d ’accueil Dossier d ’un enseignant
Autorisations Utilisation eCATT
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Les fonctions.
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 5 Interpréteur de commande, Bourne shell,
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
© 2008 General Parts International, Inc. Written permission is required to copy or forward to anyone other than the intended recipient. Formation TeammateTime.
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Filtre programmable nawk(1)
Décembre 2008Évaluation des acquis des élèves de primaire 1 Évaluation Application locale Application web académique Guide destiné aux formateurs académiques.
Version 2007Administration système Linux Francis Rogard 1 SYSTEME DEXPLOITATION LINUX La ligne de commandes.
Traitements &Suppléments
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
Outils de Programmation
La Saint-Valentin Par Matt Maxwell.
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 4 Syntaxe des commandes, documentation standard,
GPA789 Analyse et conception orientées objet 1 Professeur: Tony Wong, Ph.D., ing. Chapitre 6 Correspondance UML et C++
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Programmation nawk(1)
GPA435, GPA – ÉTS, T. Wong Génie de la production automatisée GPA435 Système dexploitation et programmation de système Chapitre 6 Partie II 2014.
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.
Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #3: Interpréteur de commande Enseignant: Jean-Philippe Roberge.
Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #4: Éléments de programmation (Partie 1) Enseignant: Jean-Philippe.
Notre calendrier français MARS 2014
Chapitre 3 Syntaxe et sémantique.
C'est pour bientôt.....
STSWEB Bascule Diffusion Nationale TOULOUSE – déc.2008.
Veuillez trouver ci-joint
1. Problème d’alignement
1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 6 Substitution: variables et commandes,
Bienvenue sur le Net Personnel 1/23. 2 Saisir votre mot de passe en minuscule.
Mise en forme en Mathématiques

1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 8 Filtres UNIX.
Limiter et trier des données
Pour Principes de microéconomie, svp ajouter en haut de la page :
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Structures des données
Réunion de présentation de la campagne
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
* Source : Étude sur la consommation de la Commission européenne, indicateur de GfK Anticipations.
chapitre -1- OPERATIONS [B] REGLES DE PRIORITE (f n°103) lundi 15 septembre 2014  rappels de 6°  du nouveau en 5°  applications  exercices  Page.
Création et présentation d’un tableau avec Word 2007
Paradigmes des Langages de Programmation
CALENDRIER-PLAYBOY 2020.
Séances de liaison auprès des brevetés 2014 Montréal – le 11 juin 2014 Toronto – le 12 juin 2014 Conseil d’examen du prix des médicaments brevetés.
Architecture Chapitre 4 Interruptions. 2 Plan Principe Schéma d’acquisition Les états d’une interruption Décentralisation des interruptions Exemples.
Nouveau site 1. Pour se connecter vous devez saisir : - Votre adresse - le mot de passe qui vous a été communiqué 2 LA CONNECTION.
Relevez le numéro de votre logo préféré et adressez-le à : En cas d’hésitation, vous pouvez choisir jusqu’à 3 logos. Seront pris.
Université de Sherbrooke
FORMATION Unix/Linux CHAPITRE 3: Commandes De Base.
GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 7 Neutralisation, redirection, décodage des paramètres,
Transcription de la présentation:

Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #8: Introduction aux filtres - Filtres UNIX Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge - Mai 2014

Planification du cours #8 Retour rapide sur l’examen intra Petite révision du chapitre #7: Décodage des paramètres Évaluation répétitive Commande expr Théorie du cours #8: Introduction aux filtres programmables UNIX / LINUX Filtres comm(1), diff(1) et cmp(1) Filtre uniq(1) Filtre tr(1) Filtre cut(1) Filtre egrep(1) Jean-Philippe Roberge - Mai 2014

Revue des dernières notions du chapitre #7 (1) Neutralisation des caractères (dernière fois) Déverminage (brève revue) Décodage des paramètres: getopts La commande eval La commande expr GPA435 Systèmes d'exploitation et programmation de système

GPA435 S.E. et P.S. Cours #8 Présentation préaprée par T. Wong, ing., Ph.D.

Filtres UNIX (1) Les filtres UNIX sont des commandes (programmes écris en C) qui acceptent des données de l’entrée standard, effectuent des transformations sur ces données et les dirigent vers la sortie standard. GPA435 Systèmes d'exploitation et programmation de système

Filtres UNIX (2) Pour les besoins de ce cours: Un filtre transforme les données présentées à son entrée (et provenant d’autres sources). Un filtre achemine les données transformées à sa sortie standard (et/ou vers d’autres destinations). Un filtre affiche ses messages d’erreur vers la sortie erreur standard. Donc, ce ne sont pas toutes les commandes UNIX qui sont des filtres (dans le sens défini ci-dessus). GPA435 Systèmes d'exploitation et programmation de système

comm [options] fichier1 fichier2 Filtres comm (1) comm(1) compare le contenu de deux ensembles de données. L’un des deux ensemble peut provenir de l ’entrée standard. Synopsis: comm [options] fichier1 fichier2 Ne pas afficher la première colonne (les lignes présentent uniquement dans le fichier1) Ne pas afficher la deuxième colonne (les lignes présentent uniquement dans le fichier2) Ne pas afficher dans la troisième colonne (les lignes présentent dans les deux fichiers) Exemple…

Filtres comm (2) Note 1) si le nom de l’un des fichiers est le caractère - alors son contenu est lu de l ’entrée standard. Statuts de sortie: 0 pour indiquer qu’il n’y a pas eu d’erreur; >0 pour indiquer qu’une erreur est rencontrée. Exemple:

Filtres comm (3) Exemple (suite):

Filtres diff (1) diff(1) donne les différences entre deux ensembles de données (très utile dans plusieurs contextes!) . Ce filtre accepte aussi les noms de répertoire. Synopsis: diff [options] fichier1 fichier2 diff [options] fichier1 répertoire diff [options] répertoire fichier1 diff [options] répertoire1 répertoire2 Exemple:

Filtres diff (2) Synopsis (suite): Statuts de sortie: -b Ignorer les blancs (Espace et Tab) à la fin d’une ligne -c[n] Afficher le contexte où les lignes différentes ont été trouvées Statuts de sortie: 0 Pas de différence rencontrée 1 Des différences ont été relevées >1 Une erreur est rencontrée

Filtres diff (3) Interprétation des résultats de sortie: addition (a), élimination (d) et changement (c) En effectuant ces opérations, les deux ensembles de données deviendront identiques.

Filtres diff (4) Qu’est-ce que ces résulats signifient ? ?

uniq [options] [-n] [+c] [fentree] [fsortie] Filtres uniq (1) Fonctionnement du filtre: Montrer les lignes uniques d’un ensemble de données. Ce filtre accepte des données de l ’entrée standard ou d’un fichier. Synopsis: uniq [options] [-n] [+c] [fentree] [fsortie] -c Afficher le nombre d’apparition de la ligne -d Afficher uniquement les lignes répétées -u Afficher les lignes qui ne sont pas répétées -n Ignorer les n premiers champs des lignes +c Ignorer les c premiers caractères des lignes

Filtres uniq (2) Synopsis (suite): Statuts de sortie: fentree fichier d’entrée (rien=entrée std) fsortie fichier de sortie (rien=sortie std) Statuts de sortie: 0 Pas d’erreur >0 erreur rencontrée Note 1) Un champ est un ensemble de caractères entourés de caractères espaces ou Tab. Il peut exister 1 ou plusieurs champs dans une ligne.

Filtres uniq (3) uniq.dat Lignes qui ne sont pas uniques Exemple: Lignes qui ne sont pas uniques Lignes qui sont uniques uniq.dat

tr [options] [chaine1 [chaine2]] Filtres tr (1) Fonctionnement du filtre: Remplacer un ensemble de données en un autre ensemble de données. Ce filtre accepte certains méta-caractères de regex. Synopsis: tr [options] [chaine1 [chaine2]] -c Complément de l’ensemble des caractères représentés par la chaine1 -d Éliminer de l’entrée standard les caractères qui correspondent à ceux de chaine1 -s Réduire une séquence de caractères identiques en un seul caractère. La spécification de chaine2 est facultative

Filtres tr (2) Statuts de sortie: 0 Pas d’erreur >0 erreur rencontrée Note 1) Pour éliminer les caractères contenus dans chaine1 du flux d’entrée, simplement ne pas spécifier chaine2 et utiliser l’option –d. Note 2) le remplacement s’effectue caractère par caractère. Donc, l’ordre des caractères dans chaine1 et chaine2 est important.

Filtres tr (3) Exemple: Pourquoi ce résultat ?

Filtres tr (4) Exemple: Observez bien le rôle de l’option -s. La chaine2 n’est pas spécifiée. Alors remplace les multiples apparitions du caractère de chaine1 par le même caractère de chaine1 (le caractère espace).

Filtres cut (1) Fonctionnement du filtre: Synopsis: Sélectionner des champs des lignes d’entrées. Ce filtre accepte des lignes de l’entrée standard ou des fichiers. Synopsis: cut –c liste [fichier …] cut –f liste [-d car] [-s] [fichier …] -cliste liste indique les positions en termes de caractères. Par exemple, -c1-72 signifie les 72 premiers caractères de chaque ligne

Filtres cut (2) Statuts de sortie: 0 Pas d’erreur >0 erreur rencontrée -f liste liste indique les positions en termes de champs entourés par des caractères spécifiques. Par défaut, ce sont les blancs d’une ligne (Espace ou Tab). Par exemple, -f1,7 signifie les 7 premiers champs de chaque ligne. -d car Le caractère car suivant –d est le séparateur de champ. Par exemple, -d: utilise le symbole : comme séparateur de champ. -s Suppression des lignes ayant aucun séparateur de champ.

Filtres cut (3) Note 1) Les champs, dans ce contexte, sont spécifiés par l’option –c en termes de position de caractères ou par l’option –f en termes de caractères délimités par le séparateur spécifié par –d. L’argument liste représente les champs affectés. Note 2) La spécification des champs est séparée par le symbole , (virgule) et droit être en ordre croissant (ex : 1,4,7). Il est permis de spécifier une plage de champs (ex : 1-5,9).

Filtres cut (4) Exemple:

egrep [options] [-e expr] [expression] [-f fich] [fichiers …] Filtres egrep (1) Fonctionnement du filtre: Trouver des caractères dans un ensemble de données. Ce filtre fait partie de la famille des filtres grep (global regular expression print). La chaîne de caractères recherchée est décrite par une regex. Synopsis: egrep [options] [-e expr] [expression] [-f fich] [fichiers …]

Filtres egrep (2) -b Afficher au début de chaque ligne trouvée, le numéro de bloc sur le disque -c Afficher uniquement le nombre de lignes contenant la chaîne -h N’afficher pas les noms de fichier -i Ne pas faire de distinction entre les majuscules et les minuscules -s Aucune sortie sauf les messages d’erreur -e Nécessaire pour les expressions régulières commençant par un tiret -f fich Expression régulière est contenue dans le fichier fich Statuts de sortie: 0 la chaîne est trouvée 1 la chaîne n’est pas trouvée 2 erreur(s) rencontrée(s)

Filtres egrep (3) Note 1) egrep(1) recherche les lignes qui contiennent la ou les chaînes de caractères indiquées par expr ou expression. Par défaut, les lignes trouvées sont envoyées à la sortie standard. Note 2) Lire l’aide en-ligne de egrep(1) pour connaître les expressions génériques acceptées.

Filtres egrep (4) Exemple:

Filtres egrep (5) Exemple:

Filtres egrep (6) Exemple: Trouver le caractère point ou le caractère virgule ou le caractère point exclamation dans tous les fichiers du répertoire courant. Le filtre egrep (grep, fgrep, etc.) est très utile dans la recherche des patrons dans un fichier ou un ensemble de fichiers. De plus, la vitesse d’exécution de egrep est très très grande!

Références [1] Présentations PowerPoint du cours GPA435, Tony Wong. [2] Notes de cours, GPA435 [3] Levasseur, Yan, Wiki GPA435: http://bash.leyan.org/Accueil , consulté en avril 2014. [4] Tanenbaum, A.S., Systèmes d’exploitation. Pearson Education France, 2008. [5] Stallings, W., Operating Systems : Internals and Design Principals. Upper Saddle River, NJ : Prentice Hall, 1998. [6] Références citées dans le premier chapitre des notes de cours. Jean-Philippe Roberge - Avril 2014