Utiliser des variables Bash dans Awk
Résolu
allergen
-
Konrad -
Konrad -
Bonjour,
Est-il possible d'utiliser des variabes bash dans les fonctions awk?
Merci
Est-il possible d'utiliser des variabes bash dans les fonctions awk?
Merci
A voir également:
- Awk variable
- Vba range avec variable ✓ - Forum VB / VBA
- Range avec une Variable ✓ - Forum VB / VBA
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
6 réponses
oui
awk '{...}' var1=$var1 var2=$var2
utiliser var1 et var2 dans le code
ou
ou
utiliser le tableau ENVIRON
ENVIRON
An array containing the values of the current environment. The array is indexed by the environment variables, each element being the value of that variable (e.g., ENVIRON["HOME"] might be /home/arnold). ...
awk '{...}' var1=$var1 var2=$var2
utiliser var1 et var2 dans le code
ou
awk '{...'"$var1"'...}'
ou
utiliser le tableau ENVIRON
ENVIRON
An array containing the values of the current environment. The array is indexed by the environment variables, each element being the value of that variable (e.g., ENVIRON["HOME"] might be /home/arnold). ...
Salut,
Oui, mais il faut soit les déclarer en début du programme "awk" avec l'option "-v variable_awk=$variable_shell" comme expliqué par "dubcek", soit les placer à l'extérieur des quotes entourant la commande "awk".
Exemple pour la seconde solution :
Oui, mais il faut soit les déclarer en début du programme "awk" avec l'option "-v variable_awk=$variable_shell" comme expliqué par "dubcek", soit les placer à l'extérieur des quotes entourant la commande "awk".
Exemple pour la seconde solution :
[tmpfs]$ cat plop Bonjour, Est-il possible d'utiliser des variabes bash dans les fonctions awk? Merci Configuration: Linux Firefox 2.0.0.14 [tmpfs]$ var="Linux" [tmpfs]$ awk '/'"$var"'/ { print $0 }' plop Configuration: Linux;-))
Merci de votre aide
Le probleme est résolu
j'ai pu voir aussi que awk -v varAWK=&varBash '{action}' "file" marche aussi
Bref l'embaras du choix
++
Le probleme est résolu
j'ai pu voir aussi que awk -v varAWK=&varBash '{action}' "file" marche aussi
Bref l'embaras du choix
++
Bonjour,
[tmpfs]$ awk '/'"$var"'/ { print $0 }' plop --> marche sans soucis
mais si par exemple dans le fichier :
Bonjour,
Est-il possible d'utiliser des variabes bash dans les fonctions awk?
Merci
Configuration: Linux
Configuration: Linuxtest
Firefox 2.0.0.14
il affiche:
Configuration: Linux
Configuration: Linuxtest
où j'ai besoin que de la ligne contenant linux seulement (j'ai utilisé ^ et $) mais j'ai pas pu savoir l'emeplacement exacte de ce deux options pour récupérer la chaîne exacte.
MErci de votre aide
[tmpfs]$ awk '/'"$var"'/ { print $0 }' plop --> marche sans soucis
mais si par exemple dans le fichier :
Bonjour,
Est-il possible d'utiliser des variabes bash dans les fonctions awk?
Merci
Configuration: Linux
Configuration: Linuxtest
Firefox 2.0.0.14
il affiche:
Configuration: Linux
Configuration: Linuxtest
où j'ai besoin que de la ligne contenant linux seulement (j'ai utilisé ^ et $) mais j'ai pas pu savoir l'emeplacement exacte de ce deux options pour récupérer la chaîne exacte.
MErci de votre aide
Salut,
Il faut utiliser une expression rationnelle comme "\>", qui correspond à une chaîne vide à la fin d'un mot :
;-))
Il faut utiliser une expression rationnelle comme "\>", qui correspond à une chaîne vide à la fin d'un mot :
$ cat plop Bonjour, Est-il possible d'utiliser des variabes bash dans les fonctions awk? Merci Configuration: Linux Configuration: Linuxtest Firefox 2.0.0.14 $ var=Linux $ awk '/'"${var}\>"'/ { print $0 }' plop Configuration: Linux $
;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hello
$ cat a2 Bonjour, Est-il possible d'utiliser des variabes bash dans les fonctions awk? Merci Configuration: Linux Configuration: Linuxtest Firefox 2.0.0.14 $ $ var="Linux" $ awk '/'"$var"'$/ { print $0 }' a2 Configuration: Linux $ou
$ awk -v var=$var '$0 ~ var "$" { print $0 }' a2 Configuration: Linux $
Merci pour ta réponse.
en plus je veux tester le var sur un champs (numéro 2 dans le fichier), je vais comment stp ?
Merci
en plus je veux tester le var sur un champs (numéro 2 dans le fichier), je vais comment stp ?
Merci
QoS__Ohrigstad-06994_vtot-0023-ohrigstad-ce-1,6994,229.69987679211474
QoS__Cairo-Egypt-06949_R-EP-CAIRO,694,95.58529345878135 126.60342741935483
QoS__Nyscayah-Monitoring_tfe-06947-rm-01,94,8.4571572580645
QoS__Teheran-05694_R-EP-05694-TEHERAN-01,5694,637.305823398784
awk -F="," '/'"$ligne"'$/ { print $0 }' /home/l0360167/REPORTINGWAN/INPUT/rtt.csv >>temprtt.txt
$ligne corrspend par exemple à la valeur 94
et je trouve tous les lignes qui sont en dessus
Merci
QoS__Cairo-Egypt-06949_R-EP-CAIRO,694,95.58529345878135 126.60342741935483
QoS__Nyscayah-Monitoring_tfe-06947-rm-01,94,8.4571572580645
QoS__Teheran-05694_R-EP-05694-TEHERAN-01,5694,637.305823398784
awk -F="," '/'"$ligne"'$/ { print $0 }' /home/l0360167/REPORTINGWAN/INPUT/rtt.csv >>temprtt.txt
$ligne corrspend par exemple à la valeur 94
et je trouve tous les lignes qui sont en dessus
Merci