Bonjour,

J'ai un fichier classement.txt contenant sur chaque ligne deux informations :

1) le nom du joueur
2) son score

à chaque fois qu'on execute mon script celui-ci demande d'entrer un nom et ensuite ce dernier, suivi du score, est envoyé >> dans classement.txt que je trie ensuite sur la deuxième colonne (pour établir un classement des joueurs).

Le problème c'est qu'un joueur qui va jouer n fois se retrouvera n fois dans le classement, alors que je ne voudrais conserver que le meilleur score. Comment faire ?

J'ai pensé appliquer uniq à la première colonne mais la deuxième ne suivra pas aussi... Voici mon code :

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
#!/bin/bash
read -p " Entre ton nom d'utilisateur" name
echo "Recopiez le plus vite possible la phrase suivante : je suis le plus rapide"
echo "Quand vous etes pret tapez sur entree"
read entree
DEBUT=$(date +%s%N)
read texte
FIN=$(date +%s%N)
let NANO="$FIN-$DEBUT"
let SECONDES="$NANO/1000000000"
let MICRO="($NANO-1000000000*$SECONDES)/1000000"
if [ "$texte" = "je suis le plus rapide" ]
then
    echo "tu as mis $SECONDES secondes et $MICRO ms"
else 
    echo "tu as fait des fautes de frappe"
fi
let TEMPS="1000*$SECONDES+$MICRO"
CLASS=classement.txt
CLASSTEMP=.classement2
echo "$name,$TEMPS" >> $CLASS
sort -t "," -n -k 2 $CLASS > $CLASSTEMP
cp $CLASSTEMP $CLASS
Merci