Est-ce qu'il y a quelqu'un qui sait comment dans une shell passer un variable de awk à l'extérieur de awk ??
Par exemple :
a l'extérieur $t n'existe plus
Code : Sélectionner tout - Visualiser dans une fenêtre à part awk 'BEGIN {t =3}'![]()
Est-ce qu'il y a quelqu'un qui sait comment dans une shell passer un variable de awk à l'extérieur de awk ??
Par exemple :
a l'extérieur $t n'existe plus
Code : Sélectionner tout - Visualiser dans une fenêtre à part awk 'BEGIN {t =3}'![]()
Non !Envoyé par dongnold
C'est normal ... t dans le script awk est une variable propre à awk, qui n'a donc aucune signification associée à l'extérieur. Rien à voir avec la variable d'environnement $t, donc.Envoyé par dongnold
En outre, les modifications de variables d'environnement vont toujours dans le sens du processus père vers les processus fils. Les processus parents ne sont donc généralement pas "avertis" des modifications des variables par leurs processus fils.![]()
Pour conserver un résultat de script awk dans une variable shell, il reste alors la solution de le faire afficher par awk, et de récupérer ça dans le shell au moyen des backquotes ou de leur équivalent POSIX $( ) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part t=$( awk 'BEGIN {t =3} { print t }' )
Partager