
1. Utiliser la commande cut afin de retourner la liste triée des noms des étudiants. Enregistrer cette liste dans un
fichier liste_noms.txt
2. Modifier la commande précédente pour qu’elle affiche en plus à l’écran le nombre d’étudiant (tout en créant
toujours la liste des étudiants dans le fichier liste_noms.txt)
3. Afficher le nom des personnes dont la note d’anglais est meilleure que la note de mathématiques.
4. Calculer la moyenne des notes de mathématiques des étudiants en DUT info.
5. Afficher le nombre de filles de plus de 20 ans en DUT (info, gea, ...)
Solution
1. 0.5 point. cut -s -d ’;’ -f 1 etudiants.txt | sort > liste_noms.txt
2. 0.5 point. cut -s -d ’;’ -f 1 etudiants.txt | sort | tee liste_noms.txt | wc -l
3. 1 point. awk -F ’;’ ’$6>$5 {print $1}’ etudiants.txt
4. 1 point. awk -F ’;’ ’$4=="DUT info" { somme += $5 ; nbEtudiants ++ }
END {print somme/nbEtudiants}’ etudiants.txt
5. 1 point. awk -F ’;’ ’$2=="fille" && $3>20 && $4~/^DUT/ { nbfilles ++ }
END {print nbfilles}’ etudiants.txt
3 Explication de commandes (3 points)
De façon concise, mais précise, expliquer ce que font les commandes suivantes :
1. ln -s f1 f2
2. cp sed s/old/new/g
3. grep -v "^d\|s$" *.txt
4. I=2 ; while [ $I -lt 10 ] ; do echo $I ; I=$(($I+2)) ; done
5. sed -e ’s/<[^>]*>//g’ f1.html avec f1.html contenant le texte suivant :
Pourquoi <g>philosopher</g> alors qu’on peut <b>chanter</b> ?
6. for i in *; do echo $i; done
Solution
1. 0.5 point. Crée un lien symbolique pour le fichier f1, appelé f2
2. 0.5 point. Copie un fichier nommé sed dans le répertoire s/old/new/g
3. 0.5 point. Affiche les lignes de tous les documents textes du répertoire courant ne commançant pas par un d et
ne finissant pas par un s.
4. 0.5 point. Affiche 2 4 6 8 (chacun sur une ligne)
5. 0.5 point. Affiche "Pourquoi philosopher alors qu’on peut chanter ?" (retire les balises)
6. 0.5 point. Liste l’ensemble des fichiers et répertoire du répertoire courant. (équivalent à ls)
4 Irregular verbs (Five points)
On considère le fichier irregular.txt suivant :
be,was/were,been,être
become,became,become,devenir
begin,began,begun,commencer
bet,bet,bet,parier
[..]
On souhaite écrire un script verb.sh qui va nous servir à retourner les conjugaisons, ainsi que les traductions,
des verbes irréguliers anglais. Il peut être appelé avec plusieurs paramètres :
–./verb.sh conjug preterit be retourne le prétérit de be (was/were)
–./verb.sh conjug pastperfect be retourne le participe passé de be (been)
–./verb.sh traduire be retourne la traduction française de be (être)
–./verb.sh translate parier retourne la traduction anglaise de parier (bet)
2