Les actions

Critères de sélection Les variables

La commande awk

Présentation

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

Présentation

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.

Fonctions prédéfinies traitant des numériques

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

Fonctions prédéfinies traitant de chaînes de caractères

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  

Fonctions définies par l'utilisateur

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
}

Retour haut de la page