Bonjour,
Je souhaite utiliser dans un programme awk deux fonctions : l'une pour me compter le nombre de champs de la première ligne de mon fichier de données. Si ce nombre correspond à ce que je veux, je fais appel à ce moment-là à une autre fonction pour réaliser une autre tâche.
Exemple de fonction pour compter le nombre de champs de la première ligne
Exemple de fonction pour tester la longueur d'un champ de toute les lignes de mon jeu de données. Si ce champ est vide, alors le programme m'affichera la chaîne "OK".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function nbr_champ(nbr_champ_attendu) { if((NR==1) && (NF==nbr_champ_attendu)) {return 1} }
Place au programme principale
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function affiche(champ) { if (length(champ) == 0) print "OK" }En résumé, j'ai dû mal à gérer le return de ma première fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 BEGIN {FS=";"} { nbr_champ(12) si nbr_champ me renvoie 1 alors appeler la fonction "affiche" pour tester la longueur du dixième champ "$10" sinon, je ne fais rien } END
Merci d'avance pour votre aide.
Partager