Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2927 connectés 

 


Dernière réponse
Sujet : Comment transmettre des variable avec awk -v val=valeur ?
weed 1./ oui je me suis rendue qu'il fallait que j'utilise $val et non pas $user.
J'ai aussi remarqué qu'il fallait ne pas mettre de $ dans - v val=user
 
2./ oki, tu veux dire apres l'accolade....
 
Mais en fait j'arrive toujours pas à transmettre la variable $user dans awk
 
 

Code :
  1. user=`cat /etc/passwd | cut -d ":" -f 1`;
  2. awk -v val="user" '{
  3.                     for (i in val)
  4.                     {
  5.                               print $i
  6.                     }
  7.                   }' /home/nec1/awk/security


 
lorsque je le lance, je n'arrive pas a afficher les valeurs de val. Cela n'affiche rien alors que cela devrai me donner les utilisateurs de mon systeme.
 
 
La syntaxe d'un for dans un awk est :
for (i in liste)
{
}  
il faut mettre des ( ) et des { }  et il ne faut pas mettre de $ pour la variable liste, si j'ai bien compris : http://www.chez.com/brunogarcia/Unix/Docs/awk.html
 


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
weed 1./ oui je me suis rendue qu'il fallait que j'utilise $val et non pas $user.
J'ai aussi remarqué qu'il fallait ne pas mettre de $ dans - v val=user
 
2./ oki, tu veux dire apres l'accolade....
 
Mais en fait j'arrive toujours pas à transmettre la variable $user dans awk
 
 

Code :
  1. user=`cat /etc/passwd | cut -d ":" -f 1`;
  2. awk -v val="user" '{
  3.                     for (i in val)
  4.                     {
  5.                               print $i
  6.                     }
  7.                   }' /home/nec1/awk/security


 
lorsque je le lance, je n'arrive pas a afficher les valeurs de val. Cela n'affiche rien alors que cela devrai me donner les utilisateurs de mon systeme.
 
 
La syntaxe d'un for dans un awk est :
for (i in liste)
{
}  
il faut mettre des ( ) et des { }  et il ne faut pas mettre de $ pour la variable liste, si j'ai bien compris : http://www.chez.com/brunogarcia/Unix/Docs/awk.html
 

Jar Jar 1) si tu mets -v var=$user, la variable s'appelle $var dans awk, pas $user.
 
2) il faut mettre des \ en fin de ligne, sinon le shell considère ça comme une nouvelle commande.
weed up
weed normallement la syntaxe c'est  
awk '{ traitement}' fichier_texte_a_traiter
weed

911GT3 a écrit :

peut-être tout simplement parce que security n'est pas dans le $PATH ?
 
en mettant un ./security ?


 
Pourquoi voudrait que je mette security dans le $PATH.
security n'est juste qu'un fichier texte que j'aimerais que awk traite, security n'est pas une commande

911GT3

[jorge@blackknight]-(/Temp)> cat test.sh
#!/bin/bash
echo OK !
 
[jorge@blackknight]-(/Temp)> cat launch.sh
#!/bin/bash
test.sh
[jorge@blackknight]-(/Temp)> cat launch2.sh
#!/bin/bash
./test.sh
[jorge@blackknight]-(/Temp)> sh launch.sh
launch.sh: line 2: test.sh: command not found
[jorge@blackknight]-<Failed 127>-(/Temp)> sh launch2.sh
OK !

911GT3 peut-être tout simplement parce que security n'est pas dans le $PATH ?
 
en mettant un ./security ?
weed Voici mon script :
 

Code :
  1. user=`cat /etc/passwd | cut -d ":" -f 1`;
  2. awk -v var=$user '{
  3.                         for (i in $user)
  4.                         do
  5.                                 if ($i=$3)
  6.                                 {
  7.                                         print $1;
  8.                                 }
  9.                         done
  10.                         }'
  11. security


 
 
 
lorsque je le lance j'ai comme message d'erreur :
 $ ./test2
awk: cannot open bin (No such file or directory)
./test2: line 12: security: command not found
 
 
Pourquoi ne veut il pas prendre en compte mon fichier texte security qui est dans le meme repertoire que mon script ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)