Home

Chapitre 6 : AWK et SED

image

Contents

1. entre apr s la condition e On les s pare par des d nbDirs nbDirs 1 nbTot nbTot 1 e Affichage print cha ne variable END print il y a nbF coureurs fran ais e Affectation variable valeur Calculs num riques Cha nes de caract res entre IUT Lannion Syst mes 1e ann e Nerzic 2015 16 Exemple e Afficher le nom du plus grand fichier affich par Is la taille se trouve dans le 5e champ et le nom dans le 9e ts L awk BEGIN max 0 nom aucun 5 gt max max 5 nom 9 END print nom max e NB on peut tout mettre sur la m me ligne IUT Lannion Syst mes 1e ann e Nerzic 2015 16 Variables pr d finies e I existe des variables pr d finies dont NR num ro de la ligne courante 0 la ligne courante en entier FS s parateur de champ par d faut c est espace En g n ral on le d finit avec la clause BEGIN 1 52 champs successifs de la ligne NF nombre de champs dans la ligne courante IUT Lannion Syst mes 1e ann e Nerzic 2015 16 12 Op rateurs et fonctions de calcul e Les op rateurs et fonctions math matiques sont ceux du langage e y a la trigonom trie les exponentielles Exemple ls l awk print 9 int log 5 log 1024 a affiche O pour les fichiers plus petits que 1Ko 1 pour les fichiers dont la taille s nonce en Ko 2 pour ceux dont la taille s
2. nonce en Mo 3 pour Go car log X log 1024 n tel que 1024 X IUT Lannion Syst mes 1e ann e Nerzic 2015 16 13 Fonctions sur les cha nes deux cha nes juxtapos es sont concat n es match cha ne motif renvoie la position du motif dans la cha ne 1 ou O s il est absent sub rech remp chaine remplace rech par remp length cha ne longueur de la cha ne substr cha ne d b fin extrait un morceau de la cha ne d limit par les indices ilya beaucoup d autres fonctions UT Lannion Syst mes 1e ann e Nerzic 2015 16 14 Tableaux en AWK e On peut cr er un tableau tr s facilement tableaulindice valeur L indice peut tre un nombre ou une cha ne e Savoir si un indice est dans un tableau if indice in tableau instructions if tableaulindice 4 instructions e Parcourir toutes les valeurs du tableau for indice in tableau instructions IUT Lannion Syst mes 1e ann e Nerzic 2015 16 ilS Exemple e On veut compter les coureurs de chaque nationalit champ n 4 dans ce fichier 800 8 Randy DE PUNIET FRA Honda 81 125 5 Sandro CORTESE GER Derbi 118 250 29 Hector FAUBEL SPA Suter 8 250 3 Andrea IANNONE ITA Speed Up 144 125 16 Alexis MASBOU FRA Aprilia 20 125 7 Esteve RABAT SPA Abprilia 108 125 3 Marc MARQUEZ SPA Derbi 197 250 16 Fonsi NIETO SPA Moriwaki 41 IUT Lannion Syst mes 1e ann e Nerzic 2015 16
3. 16 Le script de l exemple e Id e un tableau Nombre nomdupays nombre de coureurs avec nomdupays champ n 4 BEGIN FS Nombre 4 1 END for pays in Nombre print pays Nombrel pays 6 2 SED SED permet d appliquer automatiquement des commandes d dition sur un fichier Lee McMahon Laboratoires Bell 1973 IUT Lannion Syst mes 1e ann e Nerzic 2015 16 Vous connaissez d j un peu SED e ED est un sous ensemble de VI e Dans vi S t ti toto g C est une commande ED de remplacement d un mot par un autre e Dans vi sw tutu txt C est une commande ED d enregistrement du texte dans un fichier e SED ED en mode tube pas interactif IUT Lannion Syst mes 1e ann e Nerzic 2015 16 19 Stream EDitor e SED est un diteur d un texte arrivant sous forme d un flux stream tube venant d une pr c dente commande ou redirection d entr e sed re commandes d dition e Par exemple ts L sed re T ifichier e Les commandes d dition sont quasiment celles de vi IUT Lannion Syst mes 1e ann e Nerzic 2015 16 20 Autre emploi de SED e SED peut aussi fonctionner comme un diteur de fichiers mais pas interactif C est dire qu on lui fournit des commandes d dition l avance mais sans pouvoir s adapter au fichier ni voir le r sultat au fur et mesure sed i re commandes d dition fichier O
4. Chapitre 6 AWK et SED Ce sont des filtres programmables IUT Lannion Syst mes 1e ann e Nerzic 2015 16 6 1 AWK AWK permet d crire des traitements num riques sur des fichiers CSV Alfred Aho compilateurs algorithmique Peter Weinberger expressions r guli res Brian Kernighan langage C avec Dennis Ritchie Laboratoires Bell 1977 IUT Lannion Syst mes 1e ann e Nerzic 2015 16 Principe g n ral de AWK e 3 l ments Un texte en entr e redirection ou tube pr c dent Un texte en sortie redirection ou tube suivant Un programme appel script fourni en param tre IUT Lannion Syst mes 1e ann e Nerzic 2015 16 Algo interne de AWK e Pour chaque ligne du texte d entr e AWK ex cute les instructions du script La boucle de lecture du fichier d entr e est implicite On programme seulement le traitement faire sur chaque ligne e Les instructions Affichages Calculs avec affectation de variables Tests IUT Lannion Syst mes 1e ann e Nerzic 2015 16 Exemples e Affichage du nom et de la taille des fichiers ts L awk print 9 occupe 5 octets e Comptage des fichiers et dossiers ls awk END print IL y a NR l ments e Affichage de certaines lignes lts L awk 5 gt 99999 print 9 est grand IUT Lannion Syst mes 1e ann e Nerzic 2015 16 5 Mode d emploi e Syntaxe de la comman
5. Lannion Syst mes 1e ann e Nerzic 2015 16 28 Structure des commandes SED e On vient de voir trois commandes motif 5 motif2 remplacement motif motif texte ajouter e Le motif avant la commande est appel adresse il d signe les lignes concern es la place on peut mettre un num ro ou un couple de num ros n1 n2 qui signifie un intervalle repr sente la derni re ligne du te xte IUT Lannion Syst mes 1e ann e Nerzic 2015 16 29 Num ros de ligne e Exemple supprimer les 3 premi res lignes du fichier sed i re 1 3 profiles ini e Exemple remplacer les par dans toutes les lignes partir de la 5 sed i re 5 profiles ini e NB c est pareil avec vi Voila c est tout ce qu il faut conna tre Le reste est dans la doc et sur stackoverflow com IUT Lannion Syst mes 1e ann e Nerzic 2015 16 30
6. de awk script lt entr e commandes awk script suite e Autre possibilit si le script est plus long saisir le script dans un fichier awk awk f nomscript awk lt entr e IUT Lannion Syst mes 1e ann e Nerzic 2015 16 Contenu d un script e Un script AWK est compos de groupes condition instructions La condition peut tre absente dans ce cas c est comme sl elle tait toujours vraie C est comme s il y avait un if juste avant mais il ne faut pas l crire e AWK ex cute les instructions sur toutes les lignes des donn es pour lesquelles la condition est vraie IUT Lannion Syst mes 1e ann e Nerzic 2015 16 Conditions e Les conditions peuvent tre Un test comme en langage C 5 gt 4096 print 9 NR gt 1 somme somme 5 Un motif style egrep crit entre deux slash d print 0 FRA nbF nbF 1 La n gation d un motif 1 d print 0 IUT Lannion Syst mes 1e ann e Nerzic 2015 16 Conditions sp ciales e Pour initialiser un script on emploie la condition sp ciale BEGIN BEGIN nombre 0 e Pour terminer un script on emploie la condition sp ciale END END print nombre nombre e Nb BEGIN et END sont des sortes de bool ens pas des mots cl s qui voudraient dire d but et fin du script IUT Lannion Syst mes 1e ann e Nerzic 2015 16 Instructions e On les place
7. ivi de gt suivi du mot IUT Lannion Syst mes 1e ann e Nerzic 2015 16 24 Options de remplacement e Dans la commande motifl s motif2 remplacement options e On peut ajouter des options g pour remplacer toutes les occurrences Un num ro pour indiquer quelle occurrence I pour ignorer la casse majuscules minuscules e NB ce sont les m mes options dans vi IUT Lannion Syst mes 1e ann e Nerzic 2015 16 Et si le est dans un motif e Exemple remplacer par dans des chemins sed ire S T EC Ten a e e faut doubler le car c est un joker e On doit utiliser un autre s parateur en fait le s parateur est le caract re qui suit le sed ire s fichier sed ire s fichier sed ire s usr local usr IUT Lannion Syst mes 1e ann e Nerzic 2015 16 Autre commande utile e On peut galement vouloir supprimer certaines lignes e La commande est motif motif quelles lignes sont concern es e Exemple supprimer la ligne Name sed i re TName d profiles ini IUT Lannion Syst mes 1e ann e Nerzic 2015 16 27 Derni re commande utile e On peut galement vouloir ajouter du texte dans un fichier e La commande est motif otexte ajouter motif apr s quelle ligne faut il rajouter ce texte e Exemple ajouter une ligne active false sed i re Profile0 active false profiles ini IUT
8. ption i in place modifier le fichier fourni Option r utiliser les jokers tendus de egrep Option e voici le script ex cuter sur le fichier IUT Lannion Syst mes 1e ann e Nerzic 2015 16 pal Commande SED connaitre e Ce qui sert le plus souvent les remplacements EX remplacer automatiquement une valeur par une autre dans un fichier de configuration e La syntaxe de la commande est motifl s motif2 remplacement Motif quelles lignes Jokers ceux de egrep Motif quel mot y chercher Jokers egrep Remplacement quoi mettre la place idem IUT Lannion Syst mes 1e ann e Nerzic 2015 16 22 Exemple e Soit un fichier appel profiles ini firefox General StartWithLastProfile 0 Profile0 Name defautt IsRelative 1 Path o1jpoezf profile e Remplacer 1 par 0 dans la ligne IsRelative sed i re IsRelative s 1 0 profiles ini e Utilit le faire sur un grand nombre de fichiers IUT Lannion Syst mes 1e ann e Nerzic 2015 16 23 Remplacements e Dans le mot remplacer on peut mentionner une partie du motif de s lection l aide des r f rences n 1 NB option r n cessaire e Exemple Intervertir variable valeur dans le fichier profile ini sed i re s A Za z 0 1 2 gt 1 profiles ini comprendre ainsi dans les lignes o il a un remplacer la suite mot 0 ou 1 par ce 0 ou 1 su

Download Pdf Manuals

image

Related Search

Related Contents

(français) 0.05 MB (AM_25610_BA_Eurotops_FRA_01)  2.4 AC112 - ETHERNET Powerlink Interface  Betty - Lincar  userguide-Z88  JVC KD-G305 User's Manual  Pioneer User Manual - Test Equipment Depot  6047R-E1R24N    

Copyright © All rights reserved.
Failed to retrieve file