[solved][hs] awk + boucle dans script shell
Le samedi 09 avr 2005 à 11 h 46, Thomas a dit:
> Le 09.04.05, Steve a tapoté :
>
> | Bonjour,
>
> 'jour,
>
>
> | j'essaie d'écrire un script shell contenant du awk, et il y a un
> truc| que je ne comprends pas.
> [...]
> | 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}
[me reste juste à bien piger pourquoi ...]
>
> | Un petit coup de main plize
>
> Ouala.
>
>
> | merci et bon week-end
>
> Pas mieux :)
>
Merci à bernard et thomas!
Reply to: