Les actions |
||
La commande awk |
![]()
Fonctions prédéfinies traitant des numériques
Fonctions prédéfinies traitant de chaînes de caractères
Fonctions définies par l'utilisateur
![]()
Les actions permettent de transformer ou de manipuler les données, elles contiennent une ou plusieurs instructions. Les actions peuvent être de différents types: fonctions prédéfinies, fonctions de contrôle, fonctions d'affectation, fonctions d'affichage.
| atan2(y,x) | arctangente de x/y en radian (entre -pi et pi) | |
| cos(x) | cosinus (radian) | |
| exp(x) | exponentielle à la puissance x | |
| int(x) | partie entière | |
| log(x) | logarithme naturel | |
| rand(x) | nombre aléatoire (entre 0 et 1) | |
| sin(x) | sinus (radian) | |
| sqr(t) | racine carrée | |
| srand(x) | définition d'une valeur de départ pour générer un nombre aléatoire |
| gsub(expression-régulière,nouvelle-chaine,chaine-de-caractères) | dans chaine-de-caractères tous les caractères décrits par l'expression régulière sont remplacés par nouvelle-chaine. gsub et équivalent à gensub. | ||
| gsub(/a/,"ai",oi") | Remplace la chaine oi par ai | ||
| index(chaine-de-caractères,caractère-à-rechercher) | donne la première occurence du caractère-à-rechercher dans la chaine chaine-de-caractères | ||
| n=index("patate","ta") | n=3 | ||
| length(chaine-de-caractères) | renvoie la longueur de la chaine-de-caractères | ||
| n=length("patate") | n=6 | ||
| match(chaine-de-caractères,expression-régulière) | renvoie l'indice de la position de la chaîne chaine-de-caractères, repositionne RSTART et RLENGTH | ||
| n=match("PO1235D",/[0-9][0-9]/) | n=3, RSTART=3 et RLENGTH=4 | ||
| printf(format,valeur) | permet d'envoyer des affichages (sorties) formatées, la syntaxe est identique de la même fonction en C | ||
| printf("La variable i est égale à %7,2f",i) | sortie du chiffre i avec 7 caractères (éventuellement caractères vides devant) et 2 chiffres après la virgule. | ||
| printf("La ligne est %s",$0) > "fichier.int" | Redirection de la sortie vers un fichier avec >, on peut utiliser aussi la redirection >>. Veillez à ne pas oublier les "" autour du nom du fichier. | ||
| split(chaine-de-caractères,tableau,séparateur) | scinde la chaîne chaine-de-caractères dans un tableau, le séparateur de champ est le troisième argument | ||
| n=split("zorro est arrivé",tab," ") | tab[1]="zorro", tab[2]="est", tab[3]="arrivé", n=3 correspond au nombre d'éléments dans le tableau | ||
| sprintf(format,valeur) | printf permet d'afficher à l'écran alors que sprintf renvoie la sortie vers une chaîne de caractères. | ||
| machaine=sprintf("J'ai %d patates",i) | machaine="J'ai 3 patates" (si i=3) | ||
| substr(chaine-de-caractères,pos,long) | Extrait une chaine de longueur long dans la chaîne chaine-de-caractères à partir de la position pos et l'affecte à une chaîne. | ||
| machaine=substr("Zorro est arrivé",5,3) | machaine="o e" | ||
| sub(expression-régulière,nouvelle-chaine,chaine-de-caractères) | idem que gsub sauf que seul la première occurence est remplacée (gsub=globale sub) | ||
| system(chaine-de-caractères) | permet de lancer des commandes d'autres programmes | ||
| commande=sprintf("ls | grep toto") | Exécution de la commande UNIX "ls |grep toto" | ||
| system(commande) | |||
| tolower(chaine-de-caracteres) | retourne la chaîne de caractères convertie en minuscule | ||
| toupper(chaine-de-caracteres) | retourne la chaîne de caractères convetie en majuscule |
Vous pouvez définir une fonction utilisateur de telle sorte qu'elle puisse être considérée comme une fonction prédéfinie. La syntaxe est la suivant:
| fonction mafonction(liste des paramètres) |
| { |
| instructions |
| return valeur |
| } |
![]()