Bonjour à tous,

Voici mon script complet :
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 d’un fichier personnes dont chaque ligne est constituée du prénom et du
genre (m pour masculin, f pour féminin) d’un 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
référence : Introduction à la programmation en Bash d'Eric Sanchis


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 ).

Pourriez-vous m'aider ?

D'avance merci.