Programmation bash
chilby
-
chilby -
chilby -
Bonjour à tous! je suis debutant en programmation bash. J'ai un programme qui me fais tourner depuis 2 jours. Je voudrai que quelqu'un m'aide si possible. Merci voici l'enoncé:
On dispose d'un fichier personnes dont chaque ligne est constituée du prénom et du genre (m pour masculin, f pour feminin) d'un individu.
exemple: $ cat personnes
arthur m
pierre m
dominique f
paule f
sylvie f
jean m
$
Ecrire un programme qui crée à partir de ce fichier, un fichier garcons contenant uniquement les prénoms des garcons et un fichier filles contenant uniquement les prénoms des filles.
Exemple: $ tripersonnes.
Je vous serai reconnaissant de bien vouloir m'aider.
On dispose d'un fichier personnes dont chaque ligne est constituée du prénom et du genre (m pour masculin, f pour feminin) d'un individu.
exemple: $ cat personnes
arthur m
pierre m
dominique f
paule f
sylvie f
jean m
$
Ecrire un programme qui crée à partir de ce fichier, un fichier garcons contenant uniquement les prénoms des garcons et un fichier filles contenant uniquement les prénoms des filles.
Exemple: $ tripersonnes.
Je vous serai reconnaissant de bien vouloir m'aider.
A voir également:
- Programmation bash
- Application de programmation - Guide
- Bingo bash - Télécharger - Divers Jeux
- Programmation aria soho ✓ - Forum LG
- Bash list ✓ - Forum Shell
- Bash permission non accordée - Forum Shell
6 réponses
Tu peux faire voir ce que tu as déjà fais?
Car sinon, je vais te donner un truc qui n'as rien à voir avec ton début ^^
Alors ca marchera certes, mais tu n'auras rien appris :P
Car sinon, je vais te donner un truc qui n'as rien à voir avec ton début ^^
Alors ca marchera certes, mais tu n'auras rien appris :P
voici ce que j'ai fais
J'ai creé d'abord le fichier personnes avec les prénoms comme indiqué en faisant
cat personnes>
arthur m
dominique f
etc..
ensuite j'ai fais
while read personnes
if[[$2=m]]
then cat> garcons
cp $1 garcons
then cat> filles
cp $1 filles
fi
echo"garcons:" cat garcons
echo"filles:" cat filles
merci
J'ai creé d'abord le fichier personnes avec les prénoms comme indiqué en faisant
cat personnes>
arthur m
dominique f
etc..
ensuite j'ai fais
while read personnes
if[[$2=m]]
then cat> garcons
cp $1 garcons
then cat> filles
cp $1 filles
fi
echo"garcons:" cat garcons
echo"filles:" cat filles
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour reprendre ton script. il faut que tu comprennes bien à quoi sert chaque commande et quelles sont leurs fonctions respectives.
cat sert à afficher un fichier et éventuellement à en créer un interactivement comme tu l'as fait pour le fichier "personnes", mais ça ne marche pas depuis un script, ou du moins pas comme tu t'y es pris ;-(
cp sert à copier/dupliquer un fichier , mais pas à écrire dans un fichier. Pour ça on utilise "echo blabla > fichier" ou "echo blabla >> fichier" pour ajouter à la suite des données déjà existantes.
Voilà un exemple pour ton sujet :
;-))
cat sert à afficher un fichier et éventuellement à en créer un interactivement comme tu l'as fait pour le fichier "personnes", mais ça ne marche pas depuis un script, ou du moins pas comme tu t'y es pris ;-(
cp sert à copier/dupliquer un fichier , mais pas à écrire dans un fichier. Pour ça on utilise "echo blabla > fichier" ou "echo blabla >> fichier" pour ajouter à la suite des données déjà existantes.
Voilà un exemple pour ton sujet :
jp@MDK:~/tmpfs ssh$ cat personnes arthur m pierre m dominique f paule f sylvie f jean m jp@MDK:~/tmpfs ssh$ cat foo.sh #! /bin/sh #set -xv while read NOM SEX do if [ "$SEX" == "m" ] then echo "$NOM" >> garçons.txt else echo "$NOM" >> filles.txt fi done < personnes jp@MDK:~/tmpfs ssh$ ./foo.sh jp@MDK:~/tmpfs ssh$ cat garçons.txt arthur pierre jean jp@MDK:~/tmpfs ssh$ cat filles.txt dominique paule sylvie jp@MDK:~/tmpfs ssh$
;-))