Bonjour à tous,
Voici mon script complet :
référence : Introduction à la programmation en Bash d'Eric Sanchis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 #!/bin/bash # @(#) tripersonnes <<COMMENT1 On dispose dun fichier personnes dont chaque ligne est constituée du prénom et du genre (m pour masculin, f pour féminin) dun individu. Ex : $ cat personnes arthur m pierre m dominique f paule f sylvie f jean m $ Ecrire un programme shell tripersonnes qui crée à partir de ce fichier, un fichier garcons contenant uniquement les prénoms des garçons et un fichier filles contenant les prénoms des filles. COMMENT1 if test -f "./filles.txt" then rm filles.txt touch filles.txt fi if test -f "./garcons.txt" then rm garcons.txt touch garcons.txt fi while read nom sexe do case $sexe in f ) echo -e "$nom\n" >> filles.txt ;; m ) echo -e "$nom\n" >> garcons.txt ;; esac done < personnes.txt
Pour la commande
Cela fonctionne très bien directement dans le shell, mais dans ce programme écrit dans un fichier, ça ne fonctionne plus. Tous mes noms se retrouvent collés sans espace dans les fichiers de sortie filles.txt et garcons.txt ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo -e "$nom\n"
Pourriez-vous m'aider ?
D'avance merci.
Partager