Compter les lettres de l'alphabet

Résolu
Gothelfe Messages postés 9 Statut Membre -  
Gothelfe Messages postés 9 Statut Membre -
Bonjour,

Je tente de faire un comptage sur toutes les lettres de l'alphabet (de A à Z) dans une sorte de fichier dictionnaire.
Le code que je j'utilise pour trouver une lettre est :
$ echo `grep -oi "a" dico.txt | wc -l` " a" > decompte.txt

Le soucis est que je ne sait pas comment faire au plus simple pour avoir toutes les lettres de l'alphabet sans être obligé de retaper 26 fois la même ligne de code

Merci pour votre future aide ^^

1 réponse

  1. UnGnU Messages postés 1468 Statut Contributeur 158
     
    Salut,

    Soit tu passes par une boucle for :
    for lettre in {a..z}; do grep -oi "${lettre}" ...;done


    Soit tu optes pour une autre solution :
    grep -o '[[:alnum:]]' fich | sort | uniq -ic

    1
    1. Gothelfe Messages postés 9 Statut Membre
       
      Salut,
      Merci pour ta réponse rapide ^^
      J'avais tenter une boucle "for" mais avec "seq" ce qui je t'avoue n'as pas fonctionner :/
      Je tente ta réponse et reviens vers toi.
      0
    2. Gothelfe Messages postés 9 Statut Membre
       
      re,

      J'ai tenter la première solution qui n'as pas fonctionner. Par contre la deuxième semble bien fonctionner ^^ Maintenant je vais tenter de faire sortir tout cela sur écran en ayant pris soin de trier les résultats du plus petit au plus grand.
      Une fois que je l'aurais fait je mettrais mon code entier en réponse sur le forum pour aider d'autres personnes qui en aurait besoin.
      Merci UnGnu
      0
      1. UnGnU Messages postés 1468 Statut Contributeur 158 > Gothelfe Messages postés 9 Statut Membre
         
        Pour la 1ère :
        for i in {a..z}; do grep -io "${i}" dico.txt | uniq -ic; done | sort -n
        0
    3. Gothelfe Messages postés 9 Statut Membre
       
      Voici le programme finalisé :

      #! /bin/bash
      if [ -z $1];
      then echo "Aucun paramètre présent !"
      elif [ -f $1];
      then grep -o '[[:alnum:]]' $1 | sort | uniq -ic | sort -gr
      else echo "Le fichier spécifier est absent !"
      fi

      Merci à UnGnU de m'avoir aider ^^
      0