Bonjour.
ça a complètement dérivé depuis la demande initiale!
Du coup, tu peux revenir à quelque chose de beaucoup plus simple:
1 2 3 4 5 6
| noms_users="aaaa bbbb cccc dddd"
nom_hote=$(hostname)
for user in ${noms_users} ; do
echo "Nom du compte : ${user} Sur Système ${nom_hote}"
done > "out.txt" |

Envoyé par
AAWOOPY56
Humm j'ai fait une nouvelle tentative le truc bizarre je vois bien la variable traduite dans la commande lors de l'exécution mais elle n'ai pas présente sur les lignes de mon fichier
echo $noms_users | awk ' { for( i=1 ; i<= NF ; i++ ) { print "Nom du compte : " $i " Sur Système " '${nom_hote}' } }' >/test
à un poil près, c'était bon!
echo $noms_users | awk ' { for( i=1 ; i<= NF ; i++ ) { print "Nom du compte : " $i " Sur Système '${nom_hote}'" } }' >/test
en effet, la valeur de nom_hote doit être entre guillemets sinon elle est vue comme une variable awk... non valuée, donc vide.
L'autre possibilite de passer une variable à awk, c'est de le dire explicitement:
1 2
| echo coucou | awk -v bibi=3 '{print bibi}'
echo $noms_users | awk -v name_hote=${nom_hote} ' { for( i=1 ; i<= NF ; i++ ) { print "Nom du compte : " $i " Sur Système " name_hote } }' >/test |
N'y a t il pas une histoire de côte ou double côte??
Si fait! La côte est dure!
Partager