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 | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:programmation:awk [27/10/2013 16:15] smolski [Programmation] |
doc:programmation:awk [27/10/2013 16:50] smolski |
||
---|---|---|---|
Ligne 46: | Ligne 46: | ||
Extraire des données d'un fichier, par exemple les 2 premières colonnes : | Extraire des données d'un fichier, par exemple les 2 premières colonnes : | ||
<code user> | <code user> | ||
- | awk '{ print $1, $2 }' file.txt | + | awk '{ print $1, $2 }' file.txt</code> |
+ | <code> | ||
Nom Genre | Nom Genre | ||
--------------------------------------- | --------------------------------------- | ||
Ligne 71: | Ligne 71: | ||
Retrouver les lignes qui contiennent CAMILLE : | Retrouver les lignes qui contiennent CAMILLE : | ||
<code user> | <code user> | ||
- | awk '/CAMILLE/ { print $1, $3, $2 }' file.txt | + | awk '/CAMILLE/ { print $1, $3, $2 }' file.txt</code> |
+ | <code> | ||
CAMILLE 7 M</code> | CAMILLE 7 M</code> | ||
Ligne 80: | Ligne 80: | ||
Un autre filtre plus complexe, rechercher les lignes qui commencent par C et qui contiennent la lettre A ou la lettre O : | Un autre filtre plus complexe, rechercher les lignes qui commencent par C et qui contiennent la lettre A ou la lettre O : | ||
<code user> | <code user> | ||
- | awk '/^C.*[AO]/ { print $1, $3, $2 }' file.txt | + | awk '/^C.*[AO]/ { print $1, $3, $2 }' file.txt</code> |
+ | <code> | ||
CAMILLE 7 M | CAMILLE 7 M | ||
CHLOE 12 F | CHLOE 12 F | ||
Ligne 89: | Ligne 89: | ||
Pour récupérer les lignes de CL à E, tapez : | Pour récupérer les lignes de CL à E, tapez : | ||
<code user> | <code user> | ||
- | awk '/^CL/,/^E/ { print $0 }' file.txt | + | awk '/^CL/,/^E/ { print $0 }' file.txt</code> |
+ | <code> | ||
CLARA F 11 | CLARA F 11 | ||
CLEMENT M 7 | CLEMENT M 7 | ||
Ligne 105: | Ligne 105: | ||
<code user> | <code user> | ||
- | awk '{ print NR, NF, $0 }' file.txt | + | awk '{ print NR, NF, $0 }' file.txt</code> |
+ | <code> | ||
1 3 Nom Genre Age | 1 3 Nom Genre Age | ||
2 1 --------------------------------------- | 2 1 --------------------------------------- | ||
Ligne 121: | Ligne 121: | ||
* OFS : Séparateur de champ en sortie (par défaut : espace). | * OFS : Séparateur de champ en sortie (par défaut : espace). | ||
<code user> | <code user> | ||
- | awk '/CAMILLE/ { OFS="," ; print $2,$1 }' file.txt | + | awk '/CAMILLE/ { OFS="," ; print $2,$1 }' file.txt</code> |
+ | <code> | ||
M,CAMILLE</code> | M,CAMILLE</code> | ||
Ligne 141: | Ligne 141: | ||
Puis interprété grâce à l'option -f : | Puis interprété grâce à l'option -f : | ||
<code user> | <code user> | ||
- | awk -f prog.awk file.txt | + | awk -f prog.awk file.txt</code> |
+ | <code> | ||
5 CLARA F 11 | 5 CLARA F 11 | ||
6 CLEMENT M 7 | 6 CLEMENT M 7 | ||
Ligne 170: | Ligne 170: | ||
Donne : | Donne : | ||
<code user> | <code user> | ||
- | awk -f prog.awk file.txt | + | awk -f prog.awk file.txt</code> |
+ | <code> | ||
CLARA F 11 | CLARA F 11 | ||
CLEMENT M 7 | CLEMENT M 7 | ||
Ligne 195: | Ligne 195: | ||
<code user> | <code user> | ||
- | awk -f prog.awk file.txt | + | awk -f prog.awk file.txt</code> |
+ | <code> | ||
Nom;Age | Nom;Age | ||
---------------------------------------; | ---------------------------------------; | ||
Ligne 220: | Ligne 220: | ||
Convertir du texte en majuscules ou en minuscules avec les fonctions toupper et tolower | Convertir du texte en majuscules ou en minuscules avec les fonctions toupper et tolower | ||
<code user> | <code user> | ||
- | awk '/THEO/ { print $1, tolower($1) }' file.txt | + | awk '/THEO/ { print $1, tolower($1) }' file.txt</code> |
+ | <code> | ||
THEO theo</code> | THEO theo</code> | ||
Ligne 228: | Ligne 228: | ||
Convertir une valeur en entier avec la fonction **int** : | Convertir une valeur en entier avec la fonction **int** : | ||
<code user> | <code user> | ||
- | 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> | ||
Ligne 249: | Ligne 249: | ||
Afficher la taille d'une chaîne de caractères avec la fonction length : | Afficher la taille d'une chaîne de caractères avec la fonction length : | ||
<code user> | <code user> | ||
- | awk '/CLEM/ { print $1, length($1) }' file.txt | + | awk '/CLEM/ { print $1, length($1) }' file.txt</code> |
+ | <code> | ||
CLEMENT 7</code> | CLEMENT 7</code> | ||
Ligne 257: | Ligne 257: | ||
Retourne la position d'une chaîne de caractères remplissant les critères d'une expression régulière avec la fonction 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 user> | <code user> | ||
- | awk 'NR >2 { print $1, match($1,"A")}' file.txt | + | awk 'NR >2 { print $1, match($1,"A")}' file.txt</code> |
+ | <code> | ||
CAMILLE 2 | CAMILLE 2 | ||
CHLOE 0 | CHLOE 0 | ||
Ligne 270: | Ligne 270: | ||
Remplacer des chaînes de caractères avec la fonction gsub : | Remplacer des chaînes de caractères avec la fonction gsub : | ||
<code user> | <code user> | ||
- | awk 'NR >2 { gsub("A","_",$1) ; print $1 }' file.txt | + | awk 'NR >2 { gsub("A","_",$1) ; print $1 }' file.txt</code> |
+ | <code> | ||
C_MILLE | C_MILLE | ||
CHLOE | CHLOE | ||
Ligne 283: | Ligne 283: | ||
Extraire une portion de texte avec la fonction substr : | Extraire une portion de texte avec la fonction substr : | ||
<code user> | <code user> | ||
- | awk '{ print $1, substr($1,2,3) }' file.txt | + | awk '{ print $1, substr($1,2,3) }' file.txt</code> |
+ | <code> | ||
Nom om | Nom om | ||
--------------------------------------- --- | --------------------------------------- --- | ||
Ligne 320: | Ligne 320: | ||
<code bash> | <code bash> | ||
- | awk -f prog.awk file.txt | + | awk -f prog.awk file.txt</code> |
+ | <code> | ||
Nom;Age;nom_Age | Nom;Age;nom_Age | ||
---------------------------------------;;---_ | ---------------------------------------;;---_ | ||
Ligne 358: | Ligne 358: | ||
<code user> | <code user> | ||
- | nawk -f prog.awk file.txt | + | awk -f prog.awk file.txt</code> |
+ | <code> | ||
CAMILLE,primaire | CAMILLE,primaire | ||
CHLOE,college | CHLOE,college | ||
Ligne 388: | Ligne 388: | ||
<code user> | <code user> | ||
- | awk -f prog.awk file.txt | + | awk -f prog.awk file.txt</code> |
+ | <code> | ||
CAMILLE ....... | CAMILLE ....... | ||
CHLOE ............ | CHLOE ............ | ||
Ligne 414: | Ligne 414: | ||
<code user> | <code user> | ||
- | awk -f prog.awk file.txt | + | awk -f prog.awk file.txt</code> |
+ | <code> | ||
CAMILLE ....... | CAMILLE ....... | ||
CHLOE ............ | CHLOE ............ | ||
Ligne 447: | Ligne 447: | ||
<code user> | <code user> | ||
- | awk -f prog.awk file.txt | + | awk -f prog.awk file.txt</code> |
+ | <code> | ||
F : Moy : 9 ans nb : 3 | F : Moy : 9 ans nb : 3 | ||
M : Moy : 7 ans nb : 3</code> | M : Moy : 7 ans nb : 3</code> |