Programmation unix/linux

Fermé
Nicolas - 7 oct. 2004 à 10:40
 nicolas - 7 oct. 2004 à 10:42
Bonjour,

J'ai un petit soucis avec la commande awk.
la variable ite2=200 et NOM_FICH contient le nom d'un fichier
--> Je cherche à connaître le numéro de ligne où se trouve $ite2 en premier argument et 1 en second, dans le fichier NOM_FICH.
(Je ne peux pas utiliser l'option de grep car le fichier est rempli de chiffres et de nombres.)
Bref, pour prendre en compte le contenu des variables, je passe par des ".
awk "\$1 == ${ite2} && \$2 == 1 {print FNR-1}" ${NOM_FICH}
Ceci marche très bien et me donne un seul numéro de ligne
J'aimerais alors mettre le résultat dans une variable :
decoupe=`awk "\$1 == ${ite2} && \$2 == 1 {print FNR-1}" ${NOM_FICH}`
Et je reçois le message d'erreur :
Syntax error at source line 1
Context is
>>> == <<<
Bailing out at source line 1
Y-a-t-il une astuce a
A voir également:

1 réponse

suite...
Y-a-t-il une astuce autre que d'écrire la ligne de commande avec les bons arguments dans un fichier et d'executer ce fichier dans la variable :
echo 'awk "\$1 == ${ite2} && \$2 == 1 {print FNR-1}" ${NOM_FICH}' > toto
decoupe=`toto`
(Ca , ça marche, je l'ai testé, mais c'est pas 'esthétique...')

Merci d'avance,

Nicolas.
0

Discussions similaires