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