On Thu, 12 Jun 2003 17:00:00 -0400
Christophe PEREZ <[EMAIL PROTECTED]> wrote:


> > 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 ?
> 

nb d'�l�ments d'un tableau b: ${#b[*]}
dernier �l�ment du tableau b: ${b[${#b[*]}-1]}
> 
> 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) ?
> 

avec grep ...

ligne1=$(grep -n chaine1 fichier); ligne1=${ligne1%%:*}
ligne2=$(grep -n chaine2 fichier); ligne2=${ligne2%%:*}
if ((ligne2>ligne1)); then
        grep -A $((ligne2-ligne1)) chaine1 fichier
elif ((ligne1>ligne2)); then
        grep -A $((ligne1-ligne2)) chaine2 fichier
else grep chaine1 fichier
fi

faut juste �tre sur qu'il n'y a qu'une seule occurence possible de chaque chaine... 
sinon �a devient plus compliqu�

bye
jipe

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

Répondre à