Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | Prochaine révision Les deux révisions suivantes | ||
doc:programmation:awk [18/10/2012 08:39] smolski |
doc:programmation:awk [18/10/2012 13:01] smolski |
||
---|---|---|---|
Ligne 201: | Ligne 201: | ||
Le parseur awk offre beaucoup de fonctions internes très utiles pour traiter les données. \\ | Le parseur awk offre beaucoup de fonctions internes très utiles pour traiter les données. \\ | ||
Consulter les manuels de l'utilitaire awk pour la liste complète des fonctions internes, en voici une liste partielle : | Consulter les manuels de l'utilitaire awk pour la liste complète des fonctions internes, en voici une liste partielle : | ||
+ | |||
+ | ==== toupper tolower ==== | ||
+ | |||
+ | Convertir du texte en majuscules ou en minuscules avec les fonctions toupper et tolower | ||
+ | <code bash> | ||
+ | awk '/THEO/ { print $1, tolower($1) }' file.txt</code> | ||
+ | <code> | ||
+ | THEO theo</code> | ||
==== int ==== | ==== int ==== | ||
Ligne 206: | Ligne 214: | ||
Convertir une valeur en entier avec la fonction **int** : | Convertir une valeur en entier avec la fonction **int** : | ||
<code bash> | <code bash> | ||
- | awk '/CHLOE/ { print $3, int($3/5)}' file.txt | + | awk '/CHLOE/ { print $3, int($3/5)}' file.txt</code> |
+ | <code> | ||
12 2</code> | 12 2</code> | ||
+ | ==== printf ==== | ||
+ | La fonction printf avec awk fonctionne comme la fonction printf en C afin de formater la sortie : | ||
+ | <code bash> | ||
+ | awk 'NR > 2 { printf "%10s %02d %-10s\n", $1,$3, $1}' file.txt</code> | ||
+ | <code> | ||
+ | CAMILLE 07 CAMILLE | ||
+ | CHLOE 12 CHLOE | ||
+ | CLARA 11 CLARA | ||
+ | CLEMENT 07 CLEMENT | ||
+ | EMMA 06 EMMA | ||
+ | THEO 08 THEO </code> | ||
+ | ==== length ==== | ||
+ | |||
+ | Afficher la taille d'une chaîne de caractères avec la fonction length : | ||
+ | <code bash> | ||
+ | awk '/CLEM/ { print $1, length($1) }' file.txt</code> | ||
+ | <code> | ||
+ | CLEMENT 7</code> | ||
+ | |||
+ | ==== match ==== | ||
+ | |||
+ | Retourne la position d'une chaîne de caractères remplissant les critères d'une expression régulière avec la fonction match : | ||
+ | <code bash> | ||
+ | awk 'NR >2 { print $1, match($1,"A")}' file.txt</code> | ||
+ | <code> | ||
+ | CAMILLE 2 | ||
+ | CHLOE 0 | ||
+ | CLARA 3 | ||
+ | CLEMENT 0 | ||
+ | EMMA 4 | ||
+ | THEO 0</code> | ||
+ | |||
+ | ==== gsub ==== | ||
+ | |||
+ | Remplacer des chaînes de caractères avec la fonction gsub : | ||
+ | <code bash> | ||
+ | awk 'NR >2 { gsub("A","_",$1) ; print $1 }' file.txt</code> | ||
+ | <code> | ||
+ | C_MILLE | ||
+ | CHLOE | ||
+ | CL_R_ | ||
+ | CLEMENT | ||
+ | EMM_ | ||
+ | THEO</code> | ||
+ | |||
+ | ==== substr ==== | ||
+ | |||
+ | Extraire une portion de texte avec la fonction substr : | ||
+ | <code bash> | ||
+ | awk '{ print $1, substr($1,2,3) }' file.txt</code> | ||
+ | <code> | ||
+ | Nom om | ||
+ | --------------------------------------- --- | ||
+ | CAMILLE AMI | ||
+ | CHLOE HLO | ||
+ | CLARA LAR | ||
+ | CLEMENT LEM | ||
+ | EMMA MMA | ||
+ | THEO HEO</code> | ||
//À suivre...// **Jojo** ;-) | //À suivre...// **Jojo** ;-) |