Bonjour,
Je débute en bash et j'aimerai arriver au résultat ci dessous.
Voici ce que j'ai fais jusqu'à maintenant et je bloque sur la partie ventilation.
je veux en gros:
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 #! /bin/bash #fonction qui crée les dossiers et fichiers de départ createdirfile(){ cd /home/fred/examen mkdir Resultats Etudiants Bulletins Backup Palmares cd /home/fred/examen/Resultats echo -e "Michel 10\nFred 8" >> math echo -e "Michel 20\nLuc 3\nPol 10\nFred 13" >> OS echo -e "Luc 9\nMichel 14\nFred 19" >> analyse echo -e "Luc 7\nMichel 18\nPol 4" >>DB } #fonction qui efface les dossiers et fichiers de départ deldirfile(){ cd /home/fred/examen rm -r Resultats Etudiants Bulletins Backup Palmares } #fonction qui boucle le fichier Resultats et récupère tous les noms de fichier qu'il contient dans un tableau. recupfilename(){ cd ../Resultats files=(*) cd .. } #fonction qui boucle sur tous les fichiers du dossier Resultats et qui récupère #les noms des Etudiants pour créer un fichier à leur noms dans le dossier Etudiants' createfileEtudiants(){ cd /home/fred/examen/Etudiants #boucle tous les fichiers du répertoire Résultats for fic in `ls /home/fred/examen/Resultats/*` do #lis chaque ligne de chaque fichiers while read ligne; do #récupère le premier mot -f1(nom etudiant) et crée un fichier avec son nom dans le dossier courant (xargs touch) #xargs construit et exécute des lignes de commandes à partir de l'entrée standard. echo $ligne | cut -f1 -d" " | xargs touch; done < $fic done } #menu de départ echo "Entrez votre choix" select choix in "Ventilation" "Bulletin" "Palmares" "Consultation" "Creation Documents" "Effacer Documents" "Quitter" do case "$REPLY" in 1) echo "Menu Ventilation" recupfilename files echo "${files[@]}" createfileEtudiants;; 2) echo "Menu Bulletin";; 3) echo "Menu palmares";; 4) echo "menu Consultation";; 5) echo "Menu Création Document" createdirfile;; 6) echo "Menu Effacer" deldirfile;; 7) echo "Quitter"; break;; esac done
lire ligne de mes fichiers cours avec les résultats.
dans chaque fichier cours, lire deux mots (nom et cote)
voir si premier mot (etudiant existe)
sinon le créer
ajouter le nom du cours et le note dans le fichier de l'étudiant.
Partager