Forum Programmation.shell occurence de caractere

Posté par  .
Étiquettes : aucune
0
20
fév.
2009
Bonjour,

Je cherche en vain le moyen de compter le nombre d'occurence d'un caractère dans des "strings". Je m'explique :

J'ai un fichier texte comme ceci (cela correspond à des réponses utilisateurs) (j'ai essayé en sql aussi mais ca fait le même problème) :

ligne1 : aaadc
ligne2 : eedab
ligne3 : dddac
ligne4 : aeada
ligne5 : eaaaa
etc...

Moi je voudrais rechercher et faire un traitement sur par exemple les lignes qui contiennent "3 a au moins" donc, selon les lignes ci-dessous je veux obtenir : ligne1 4 et 5 mais je n'arrive en bash (ou sql) qu'à sortir les lignes 1 et 5 (où 3aaa se suivent).

J'utilise ceci cat fichier.txt | grep "\a{3\}
J'ai rien trouvé de mieux.

Comment on fait pour sortir les strings qui contiennent 3 a mais pas uniquement 3 a d'affilé ? Merci
  • # egrep

    Posté par  . Évalué à 3.

    essaie :

    cat fichier.txt | egrep "a.*a.*a"
    • [^] # Re: egrep

      Posté par  . Évalué à 5.

      ou mieux

      egrep "a.*a.*a" fichier.txt
    • [^] # Re: egrep

      Posté par  (site Web personnel) . Évalué à 5.

      ou tout simplement
      grep -E "a.*a.*a" fichier.txt # pour éviter un pipe et un lancement de process surnuméraire.
  • # ., * & {}

    Posté par  (site Web personnel) . Évalué à 6.

    egrep '(a.*){3}'

    pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

Suivre le flux des commentaires

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