Script shell qui sépare les initiales

Bonjour tout le monde,
je bloque sur un exo, j'aimerais bien avoir de l'aide, merci.

Je dois ecrire un script sepi qui prend un dictionnaire en argument et produit un fichier contenant les mêmes mots, dans le même ordre, où une ligne blanche a été insérée a chaque changement d'initiale, c'est-à -dire entre les mots commencant par la lettre a et ceux commencant par la lettre b, etc.

merci pour l'aide

4 réponses

  1. Modérateur
    Salut,

    T'as un exemple concret AVANT => APRÈS s'il te plait merci ;-))
    1. oui
      AVANT:
      abandonner
      accord
      affaire
      anglais
      appartenir
      arriere
      attaquer
      aussitot
      avenir
      bientot
      bureau
      casser
      cesser

      APRES:
      abandonner
      accord
      affaire
      anglais
      appartenir
      arriere
      attaquer
      aussitot
      avenir

      bientôt
      bureau

      casser
      cesser
      1. Modérateur
        $ cat ldk 
        abandonner                   
        accord                       
        affaire                      
        anglais                      
        appartenir
        arriere
        attaquer
        aussitot
        avenir
        bientot
        bureau
        casser
        cesser
        
        $ sed -n '$p;N;/^\(.\).*\n\1.*/{P;D};s/\n/&&/p;' ldk
        abandonner
        accord
        affaire
        anglais
        appartenir
        arriere
        attaquer
        aussitot
        avenir
        
        bientot
        bureau
        
        casser
        cesser

        ;-))
        1. #!/bin/bash
          #liste jusqu'a z
          liste="a b c d e f g"

          for var in $liste
          do
          #$1 est l'arg dictionnaire et $2 le fichier crée avec le separateur ligne blanche
          egrep "^$var" $1 >> $2.txt
          echo "" >> $2.txt
          done