Le Thu, 12 Jun 2003 21:44:24 +0200, jipe a �crit :
> bah je sais pas moi ! s'il aime ksh :)
Va savoir ;-)
> on essaye d'�viter les tubes ... sauf si vraiment on peut pas !
Ben justement, si je lance un grep, et que j'ai donc une r�ponse
multiligne, puis-je traiter chaque r�ponse sans passer par un pipe ?
Avec un tableau peut-�tre comme dans ta derni�re soluce ?
> $ b=$(echo -e "1\n2\n3" | while read a; do echo $a; done); echo $b
> 1 2 3
> et hop ! on a ramen� les 3 valeurs successives de $a dans le shell
> parent.
> seul probl�me
Et de taille !! :-))
> elles sont dans une seule variable. si on veut plusieurs variables, 2
> m�thodes:
JE veux !
> les param�tres positionnels:
> $ set -- $(echo -e "1\n2\n3" | while read a; do echo $a; done)
> $1 $2 et $3 vont contenir les valeurs successives.
Ah ouais, bien �a !
> la variable tableau:
> $ b=($(echo -e "1\n2\n3" | while read a; do echo $a; done))
> ${b[0]}, ${b[1]} et ${b[2]} contiennent les valeurs successives.
�a c'est le top.
Et comment on conna�t le nombre d'�l�ments d'un tableau ?
> vala :)
T'es un bon toi, je l'ai toujours dit.
Tiens, puisque tu es dans le coin.
Supposons que je veuille r�cup�rer toutes les lignes d'un fichier qui se
trouvent entre chaine1 et chaine2, sachant que chaine2 peut exister avant
chaine1, comment puis-je faire �a avec grep (ou autre) ?
A l'heure actuelle, je me tape la lecture de tout le fichier (while read)
en traitant les cas par des if etc... et en concatenant les r�ponses.
C'est lourd, c'est lent...
S'il y a mieux, je suis preneur.
Merci.
--
Christophe PEREZ
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com".
Foire Aux Questions de la liste : http://mdk.mondelinux.org