Permettez-moi de clarifier:
Supposons que j'ai quelques mots clés avec la fréquence de leur utilisation:
12 Hi
7 Hash
7 C++
9 Superuser
17 Stackoverflow
9 LaTeX
42 Life
9 Ubuntu
Ce que je veux, c'est trier ces données en fonction de la fréquence en ordre décroissant et s'il y a des valeurs égales, il devrait utiliser la deuxième colonne en ordre croissant.
sort -n -r foo.txt
Est-ce que la première partie mais ensuite la deuxième colonne sont également reversed:
42 Life
17 Stackoverflow
12 Hi
9 Ubuntu
9 Superuser
9 LaTeX
7 Hash
7 C++
Comment puis-je obtenir les résultats suivants?
42 Life
17 Stackoverflow
12 Hi
9 LaTeX
9 Superuser
9 Ubuntu
7 C++
7 Hash
Je pense que je dois utiliser l' -kargument mais je ne sais pas comment!
Je veux savoir comment cela peut être fait en utilisant uniquement la sortcommande de bash. Cependant, s'il n'est pas possible d'y parvenir uniquement par sort, d'autres commandes devraient être compatibles avec le shell Bourne.
-goption de tri GNU (numérique général) au lieu de-npour les comparaisons numériques est plus sûre: elle fonctionne correctement pour les virgules flottantes et les entiers.