Le 09.04.05, Steve a tapot� :

| Le samedi 09 avr 2005 � 11 h 46, Thomas a dit:
|
| > Le 09.04.05, Steve a tapot� :
| >
| > | for ((i=1 ; i < limite ; i++))
| > | do
| > |   champ=`awk '{print $i}' $tempfile`
| > |   echo "Champ $i est $champ"
| > | done
| > |
| > | et quand j'ex�cute ce script, il me sort la ligne enti�re pour
| > chaque| $i, alors que moi je veux qu'il me sorte le i�me champ
| > seulement..|
| > | pige pas ..
| >
| >     C'est un peu normal...
| >     ton $i est entre des '' donc il n'est pas "expand�" par le
| >     shell. champ=`awk "{print \$$i}" $tempfile`
| >
| Syntaxe exacte:
|       champ=`awk "{print \$ $i}" tempfile
|       (backslash dollar espace dollar i, litt�ralement}

        Oui, tr�s juste.


| [me reste juste � bien piger pourquoi ...]

        Pas compliqu� : c'est le shell qui ne remplace pas $i
        par sa valeur puisqu'il est entre apostrophes et non entre
        guillemets. De toutes fa�ons il aurait fallu en plus rajouter
        un $ pour que awk prenne cette valeur comme �tant un num�ro
        de champ.


Thomas
-- 
BOFH excuse #97:
Small animal kamikaze attack on power supplies.


-- 
Pensez � lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez � rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Répondre à