Forum Clubic

[resolu] Awk - Probleme De Shell Incomprehensible - ? awk -F ":" '{print $2}' /etc/passwd ?

Bonjour a tous,

je suis entrain de faire un shell script et j ai une erreur que je ne comprend pas du tout voici mon script :

NB: (nb_dest contient un chiffre par exemple ‘2’)

test='$'$nb_dests
echo "VALEUR DE TEST : " $test
echo "awk -F : '{print $test}' /etc/passwd"
awk -F ":" '{print $test}' /etc/passwd

pourtant il est pas bien grand :wink:

ligne1 : je concatene donc une variable avec un $ , par exemple $ et ‘2’ va donner ‘$2’

ligne 2 : ensuite debogage :wink: je verifie c’est ok

ligne3 : je fais un echo pour verifier la commande que je lance à la ligne 4 j’ai bien “print $2” comme prevu (pour afficher seulement la deuxieme colonne)

et la ligne4 : la commande ne me donne pas le deuxieme champ comme prevu ;( il me donne la ligne entiere et je ne comprends pas pourquoi ?!?

comme puis je faire tout en gardant cette "algo" dans mon shell svp

merci d’avance

faut

cmd=’$’$test

et ensuite

awk -F “:” ‘{print ‘$cmd’}’ /etc/passwd

ou plus implement

awk -F “:” ‘{print $’$test’}’ /etc/passwd

les ’ ’ empeche l’evaluation

merci beaucoup je retiendrai cette astuce !!

merci encore :wink: