Script shell qui sépare les initiales

ldk -  
sanjuan Messages postés 91 Statut Membre -
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. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    T'as un exemple concret AVANT => APRÈS s'il te plait merci ;-))
    0
  2. ldk
     
    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
    0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    $ 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

    ;-))
    0
  4. sanjuan Messages postés 91 Statut Membre 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
    0