Script shell qui sépare les initiales

Fermé
ldk - 24 oct. 2010 à 16:26
sanjuan Messages postés 89 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 6 avril 2014 - 25 oct. 2010 à 01:37
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 jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
24 oct. 2010 à 16:49
Salut,

T'as un exemple concret AVANT => APRÈS s'il te plait merci ;-))
0
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 jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
24 oct. 2010 à 19:13
$ 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 samedi 30 octobre 2004 Statut Membre Dernière intervention 6 avril 2014 1
Modifié par sanjuan le 25/10/2010 à 01:39
#!/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