[script ksh] probleme variable dans awk

probleme variable dans awk [script ksh] - Shell/Batch - Programmation

Marsh Posté le 03-04-2003 à 16:57:52    

Encore moi :)
 
J'ai un soucis avec l'utilisation de awk.
 
Je dois recuperer les lignes dans un fichier contenant le mot "localhost" ou le contenu d'une variable MACHINE.
 
Je fais un truc comme ca:
 
cat <fichier> | awk ' /localhost/ || /$MACHINE/ { print $0 }'
 
La partie en bleu passe pas :), comment recuperer le contenu d'une variable dans awk?
 
Merci d'avance


Message édité par doum le 04-04-2003 à 10:23:47
Reply

Marsh Posté le 03-04-2003 à 16:57:52   

Reply

Marsh Posté le 04-04-2003 à 10:24:09    

Up

Reply

Marsh Posté le 15-04-2003 à 09:53:57    

JE crois qu'il suffit simplement de ne pas mettre le "$" devant le nom de la variable.

Reply

Marsh Posté le 15-04-2003 à 10:48:08    

Muchacho a écrit :

JE crois qu'il suffit simplement de ne pas mettre le "$" devant le nom de la variable.


 
Passe pas...malheureusement

Reply

Marsh Posté le 15-04-2003 à 11:14:29    

de memoire regarde le man de awk tu as une option : -v (je crois)

Reply

Marsh Posté le 15-04-2003 à 11:18:17    

Si tu veux recuperer des lignes contenant une certaine chaine, je ne comprends pas pourquoi tu n'utilises pas grep/egrep ?  :??:

Reply

Marsh Posté le 15-04-2003 à 11:25:18    

Si j'ai bien compris, tu veux recuperer les lignes d'un fichier ou sont presents, soit "localhost", soit le contenu de la variable ${MACHINE}.
 
Pour faire ca, tu peux simpelment faire avec egrep :

cat ${MON_FICHIER} | egrep "localhost|${MACHINE}"

Reply

Marsh Posté le 15-04-2003 à 11:26:56    

Muchacho a écrit :

Si j'ai bien compris, tu veux recuperer les lignes d'un fichier ou sont presents, soit "localhost", soit le contenu de la variable ${MACHINE}.
 
Pour faire ca, tu peux simpelment faire avec egrep :

cat ${MON_FICHIER} | egrep "localhost|${MACHINE}"




 
Effectivement, j'avais trouvé en faisant comme ca..
 
Merci d'avoir passer du temps :jap:

Reply

Sujets relatifs:

Leave a Replay

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