|
|
|
|
Bonjour,
J’ai un script shell qui fait un control d'une ligne avec un grep et après la commande écho si le contrôle est OK.
Je veux créer le même script en awk , mais je sais pas comment faire .?
Détail du script shell :
#!/bin/ksh
grep ""$answerq"_"$answercode":"$answeruser"" /users2/test/HAB_PART.txt 1>/dev/null
rc=$?
if [ "$rc" != "0" ]
then
echo ""$answerq"_"$answercode":"$answeruser"" >> /users2/test/HAB_PART.txt
else
echo ""$answerq"_"$answercode":"$answeruser" at HAB_PART.txt Already exists"
fi
grep "$answeruser:$answerprot" /users2/test/HAB_PROT.txt 1>/dev/null
rc=$?
if [ "$rc" != "0" ]
then
echo "$answeruser:$answerprot" >> /users2/test/PROT.txt
else
echo "$answeruser:$answerprot at HAB_PROT.cfg Already exists"
fi
Merci de m'aider a créer ce script awk,
Merci d'avance,
Cordialement,
Abdel
Configuration: Windows XP Internet Explorer 6.0
Répondre à jipicy
|
Re-
awk '/\"\'$1'\"_\"\'$2'\":\"\'$3'\"/ { print $0 }' Il faut en fait exclure la(es) variable(s) de la commande awk. La commande awk étant délimitée par des quotes, il suffit de refermer cette commande avant la variable et de la rouvrir derrière.
Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé.
|
Tu peux poster un bout de ton fichier où tu dois récupérer les champs et me dire exactement ce que tu veux, parce que là j'ai l'impression qu'on pédale dans la choucroute entre shell, awk et je sais plus quoi encore ;-))
|
Ok merci.
awk -F"_" '$1 == "foo" && $2 == "bar" && $3 == "foobar" { print $0 }'A adapter bien sur ;-))
Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé.
|