Pages : 1
#1 Le 27/04/2013, à 19:47
- sab113
Trier avec les commande [Résolu]
Bonsoir à tous,
j'aimerais sollicité votre aide sur
en fait j'ai un fichier composé de plusieurs colonnes.
Pour chaque motif de la colonne1 (mot1, mot2...) sont accompagnés de plusieurs résultats dans la colonne 2.
Exemple
colonne1 | colonne2
mot1 | 0.68
mot1 | 0.55
.............................
mot1 |1.55
mot2 |0.65
mot2 |1.65
.............................
mot2 |0.69
........................
et j'aimerais en fait faire le tri décroissant pour chaque motif (mot1, mot2...). et afficher que les motifs avec un score le plus élevé.
Exemple de résultat:
colonne1 | colonne2
mot1 |1.55
mot2 |1.65
mais je ne sais pas du tout comment je procéder sous commande shell.
Pourriez vous svp m'aider.
Je vous remercies à l'avance
Dernière modification par sab113 (Le 28/04/2013, à 10:26)
Hors ligne
#2 Le 27/04/2013, à 20:54
- pingouinux
Re : Trier avec les commande [Résolu]
Bonsoir,
Pour un fichier qui se présente ainsi
$ cat i
mot1 0.68
mot2 0.65
mot1 0.55
mot1 1.55
mot2 1.65
mot2 0.69
tu peux faire ceci
$ fic=i;while read col1 col2;do grep "$col1" "$fic"|sort -rn -k2|head -1 ;done < <(sort -k1,1 -u "$fic")
mot1 1.55
mot2 1.65
Hors ligne
#3 Le 27/04/2013, à 23:01
- sab113
Re : Trier avec les commande [Résolu]
Merci de m'avoir répondu pingouinux , j'ai essayé
$ fic=i;while read col1 col2;do grep "$col1" "$fic"|sort [b]-t '|' [/b]-rn -k2|head -1 ;done < <(sort [b]-t '|'[/b] -k1,1 -u "$fic")
pour spécifier le séparateur de champ '|' mais je n'arrive pas à les triés comme ça
mot2|1.65
mot1|0.68
mot2|0.65
Hors ligne
#4 Le 28/04/2013, à 01:16
- pingouinux
Re : Trier avec les commande [Résolu]
Essaye ceci :
fic=i;while read col1 col2;do grep "$col1" "$fic"|sort -rn -k3|head -1 ;done < <(sed 's/|/ | /' "$fic"|sort -k1,1 -u)
Hors ligne
#5 Le 28/04/2013, à 09:07
- credenhill
Re : Trier avec les commande [Résolu]
hello
$ awk -F'|' '/^col/ {print; next} /^mot/ && $2 > t[$1] {t[$1]=$2} END{for (n in t)print n, t[n]}' fichier
colonne1 | colonne2
mot2 1.65
mot1 1.55
$
Hors ligne
#6 Le 28/04/2013, à 10:14
- sab113
Re : Trier avec les commande [Résolu]
Merci beaucoup pingouinux
ET merci également credenhill pour vos réponses
Hors ligne