Forum Programmation.shell petite question sur grep

Posté par  .
Étiquettes : aucune
0
5
déc.
2005
bonjour,

est-il possible d'utiliser grep sous bash pour obtenir plusieurs resultats?
Je m'explique je voudrais extraire un ensemble de deux types de lignes d'un fichier : la premiere commence toujours par 'TITR' et elle suivie, après un nombre variable de lignes (pas plus de 20) d'une autre qui commence toujours par '==', ...et ainsi de suite pour tout le fichier.
J'obtiens l'une ou l'autre mais les deux en même temps :
grep -G '^TITR' -a20 fichier | grep '^==' par exemple ne me renvoit que les deuxièmes lignes. Je sais pas si ca peut marcher avec des references arrieres et comment!

merci pour l'info

@+, noone.1
  • # autres outils...

    Posté par  . Évalué à 1.

    avec sed par exemple, qchose du genre: sed -n '/^TITR/,/^==/p'
  • # Faisable

    Posté par  . Évalué à 5.

    C'est tout à fait possible:
    grep -E '^(TITR|==)' fic

    Te sortira toutes les lignes commençant par TITR ou ==, le -E quant à lui permet de demander à grep de fonctionner avec des expressions régulières étendues. J'te conseille de te documenter un peu plus sur les expressions régulières ... man grep :)
  • # l'option -e

    Posté par  . Évalué à 2.

    grep -e "^TITR" -e "^==" fichier
    donnera toutes les lignes qui commencent par ces chaînes de caractères, si je ne me trompe pas.
  • # thx

    Posté par  . Évalué à 1.

    merci pour les reponses
    la derniere solution m'a permis de m'en sortir.
    (j'avais pourtant lu le manuel ms pour moi c'etait vraiment pas clair)

    merci,
    @+,noone.1

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.