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
A voir également:

4 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

T'as un exemple concret AVANT => APRÈS s'il te plait merci ;-))
0
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
jipicy Messages postés 41342 Statut Modérateur 4 896
 
$ 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
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