Ordre de tri inversé d'un fichier multicolumn dans BASH
j'ai le fichier suivant:
1 2 3
1 4 5
1 6 7
2 3 5
5 2 1
et je veux que le fichier doit être triée pour la deuxième colonne, mais à partir du plus grand nombre (dans ce cas 6) pour le plus petit. J'ai essayé avec
sort +1 -2 file.dat
mais ça me donne l'ordre inverse.
Les résultats devraient être:
1 6 7
1 4 5
2 3 5
5 2 1
1 2 3
21
demandé sur
Chris Seymour
2013-01-02 14:58:33
3 réponses
sort -nrk 2,2
le truc.
n numérique (tri, r pour l'ordre inverse et k 2,2 pour la deuxième colonne.
39
répondu
Danstahr
2013-01-02 11:03:19
Avez-vous essayé -r ? À partir de la page de manuel de:
- R, -- reverse
reverse the result of comparisons
8
répondu
Brian Agnew
2013-01-02 11:01:29
comme la plupart des versions desort
-r
option si le vôtre ne pas essayer tac
:
$ sort -nk 2,2 file.dat | tac
1 6 7
1 4 5
2 3 5
5 2 1
1 2 3
$ sort -nrk 2,2 file.dat
1 6 7
1 4 5
2 3 5
5 2 1
1 2 3
tac - concaténer et imprimer des fichiers dans le sens inverse
3
répondu
Chris Seymour
2013-01-02 11:12:21