[AWK] : comment utiliser une variable shell dans awk ?

Print Friendly, PDF & Email

Awk est  un language bien sympa mais parfois on hésite à l’utiliser car il faut se prendre la tête à lui faire asser des variables. Du coup on tort le truc dans tous les sens alors qu’il suffit parfois de récupérer les variables shell pour les réutiliser dans awk.

Je vous propose deux options mais j’ai une grosse préférence pour la première.

La première c’est d’uliser l’option -v :

└─ $ ▶ variable="toto";awk -v var="$variable" 'BEGIN {print var}'
toto


La seconde en lui passant une variable d’environnement avec ENVIRON :

└─ $ ▶ variable=toto awk 'BEGIN {print ENVIRON["variable"]}'
toto

Découvrez  Interagir avec l'utilisateur via un prompt - Awk