0% ont trouvé ce document utile (0 vote)
32 vues1 page

Solution TP - Awk

Le script analyse un fichier de notes d'étudiants et affiche trois catégories d'étudiants: ceux ayant validé, ceux pouvant être rattrapés, et ceux n'ayant pas validé.

Transféré par

MANAL BENNOUF
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
32 vues1 page

Solution TP - Awk

Le script analyse un fichier de notes d'étudiants et affiche trois catégories d'étudiants: ceux ayant validé, ceux pouvant être rattrapés, et ceux n'ayant pas validé.

Transféré par

MANAL BENNOUF
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

#!

/bin/bash
# On commence par sauter les lignes dont le numero est < 5
# On stocke le nombre d'eleves ayant valide dans une variable "sum" qu'on
incremente au fur et a mesure
#
echo "Les étudiants qui ONT VALIDÉ sont:"
printf "No.\tNom\tAbsen.\tNote1\tNote2\tNote3\tMoyenne\tRemarque\n"
awk -F":" 'BEGIN {sum = 0; OFS="\t"} NR>=6 { if (($4+$2+$3)/3 >= 10 && $5
>= 3) {$6 = "***"; print NR-5, $1,$5,$2,$3,$4, ($4+$2+$3)/3, $6 ; sum++}}
NR>=6 { if (($4+$2+$3)/3 >= 10 && $5 <3) {print NR-5,
$1,$5,$2,$3,$4,($4+$2+$3)/3, $6 ; sum++}}
END {print "Leur nombre est : " sum } ' [Link]

echo
echo

echo "Les étudiants qui N'ONT PAS VALIDÉ mais sont RATTRAPPABLES sont:"
printf "No.\tNom\tAbsen.\tNote1\tNote2\tNote3\tMoyenne\tRemarque\n"
awk -F":" 'BEGIN {sum = 0; OFS="\t"} NR>=6 { if (($4+$2+$3)/3 >= 9 &&
($4+$2+$3)/3 <= 10 && $5 <= 3){ print NR-5, $1,$5,$2,$3,$4,($4+$2+$3)/3,
$6 ; sum++}}
END {print "Leur nombre est : " sum } ' [Link]

echo
echo

echo "Les étudiants qui N'ONT PAS VALIDÉ sont:"


printf "No.\tNom\tAbsen.\tNote1\tNote2\tNote3\tMoyenne\tRemarque\n"
awk -F":" 'BEGIN {sum = 0; OFS="\t"} NR>=6 { if (($4+$2+$3)/3 < 9) {print
NR-5, $1,$5,$2,$3,$4,($4+$2+$3)/3, $6 ; sum++}}
NR>=6 { if (($4+$2+$3)/3 >= 9 && ($4+$2+$3)/3 <= 10 && $5 > 3) {$6 = "---
"; print NR-5, $1,$5,$2,$3,$4,($4+$2+$3)/3, $6 ; sum++}}
END {print "Leur nombre est : " sum } ' [Link]

Vous aimerez peut-être aussi