[awk] Passer une variable à une commande awk ?

Passer une variable à une commande awk ? [awk] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 06-03-2006 à 15:23:03    

Salut,
 
Dans un script, j'essaye de passer une variable externe dans une commande awk et, malgré les différents tutos, j'y arrive pas. :(
 
C'est du style :
 
lavariable=`pwd`
ls -l|awk {'OFS="";print $lavariable"\\"$9'}
 
A la place de la valeur de $lavariable, j'ai comme si je mettais $0
Doit y avoir une astuce pour passer cette variable dans le awk, mais je ne trouve pas, j'ai essayé plein de variations dans la syntaxe pourtant, par exemple mettre le lavariable=`pwd` dans le awk, mais ça marche pas.
 
Une idée ?


Message édité par Goana le 06-03-2006 à 15:23:49
Reply

Marsh Posté le 06-03-2006 à 15:23:03   

Reply

Marsh Posté le 06-03-2006 à 16:32:20    

Ah et bien il va falloir y aller en 2 fois style;  
ls -l|awk -vlavariable=$lavariable {'OFS="";print lavariable"\\"$9'}  

Reply

Marsh Posté le 06-03-2006 à 16:54:26    

ou alors déprotéger $lavariable, du genre :

lavariable=`pwd`  
ls -l|awk '{OFS="";print '$lavariable'"\\"$9}'  

Reply

Marsh Posté le 06-03-2006 à 17:10:07    

Ca roule,
 
Juste une petite typo sur le deuxième où il fallait laisser le guillemet au début :
 

lavariable=`pwd`  
ls -l|awk '{OFS="";print "'$lavariable'\\"$9}'


 
Avec les 2 solutions ça marche nickel :)
 
Un grand merci à vous deux. :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed