Le Fri, 13 Jun 2003 00:45:16 +0200, jipe a �crit :
> nb d'�l�ments d'un tableau b: ${#b[*]}
> dernier �l�ment du tableau b: ${b[${#b[*]}-1]}
Impec, �a je le note.
> 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�
Je me suis donc mal expliqu�, une fois de plus.
chaine1 peut exister plusieurs fois ainsi que chaine2, mais j'ai toujours
un chaine2 qui suit un chaine1.
ex :
aaaa
chaine2
bbbb
cccc
chaine1
dddd
eeee
chaine2
ffff
gggg
chaine1
hhhh
chaine2
Moi, je veux :
dddd
eeee
Donc tout ce qui suit le premier chaine1, et qui est avant le chaine2
suivant.
Je pensais effectivement � grep avec des options du genre du -A, ou -B.
(j'ai bien dit "du genre" car je sais bien � quoi elles servent)
Ou alors, de pouvoir r�cup�rer le num�ro de ligne de chaine1, celui de
chaine2, et de prendre, � l'aide de -B toutes les lignes
$(($ligne_chaine2-$ligne_chaine1)) suivant chaine1.
Suis-je plus clair cette fois ?
Mais je crois que c'est ce que fais ta proposition que je vais �tudier
plus en d�tail, je ne connaissais pas le grep -n.
grep permet t'il une recherche � partir d'une certaine ligne au lieu du
d�but du fichier ?
--
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