Script shell qui sépare les initiales

ldk -  
sanjuan Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -
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 40842 Date d'inscription   Statut Modérateur Dernière intervention   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 40842 Date d'inscription   Statut Modérateur Dernière intervention   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 89 Date d'inscription   Statut Membre Dernière intervention   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