Tri 'sort' croissant puis décroissant
Résolu
Tom22
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
je n'arrive pas à double-trier un fichier ascii (2 colonnes de nombres) de façon normale puis inversée, càd trier en croissant la colonne 1, puis en décroissant sur la 2e colonne. Exemple simple, fichier tutu.asc:
7 4000
8 200
8 1500
8 3000
11 4000
et je veux ceci:
7 4000
8 3000
8 1500
8 200
11 4000
j'ai essayé plein de choses:
la commande "cat tutu.asc | sort -n -k 1 -k 2" me trie la première colonne croissante (ok), puis la seconde de façon croissante aussi (pas ok)
la commande "cat tutu.asc | sort -n -k 1 -k 2 -r" me trie la seconde colonne décroissante (ok), mais la première est aussi décroissante (pas ok)
la commande "cat tutu.asc | sort -n -k 1" me trie la première colonne croissante (ok), mais à la seconde est mal triée: les couple du 8 sont dans l'ordre 1500, 200 puis 3000 (pas ok)
Des idées ?
Thanx !
je n'arrive pas à double-trier un fichier ascii (2 colonnes de nombres) de façon normale puis inversée, càd trier en croissant la colonne 1, puis en décroissant sur la 2e colonne. Exemple simple, fichier tutu.asc:
7 4000
8 200
8 1500
8 3000
11 4000
et je veux ceci:
7 4000
8 3000
8 1500
8 200
11 4000
j'ai essayé plein de choses:
la commande "cat tutu.asc | sort -n -k 1 -k 2" me trie la première colonne croissante (ok), puis la seconde de façon croissante aussi (pas ok)
la commande "cat tutu.asc | sort -n -k 1 -k 2 -r" me trie la seconde colonne décroissante (ok), mais la première est aussi décroissante (pas ok)
la commande "cat tutu.asc | sort -n -k 1" me trie la première colonne croissante (ok), mais à la seconde est mal triée: les couple du 8 sont dans l'ordre 1500, 200 puis 3000 (pas ok)
Des idées ?
Thanx !
A voir également:
- Tri 'sort' croissant puis décroissant
- Excel trier par ordre croissant chiffre - Guide
- Logiciel tri photo - Guide
- Aucun son ne sort de mon pc - Guide
- Tirage au sort excel aléatoire sans doublon ✓ - Forum Excel
- Je branche mes écouteurs mais le son sort du téléphone samsung - Forum Samsung
3 réponses
Salut;
tmpfs]$ cat fich 7 4000 8 200 8 1500 8 3000 11 4000 [tmpfs]$ sort -n -k1 -k2.1rn fich 7 4000 8 3000 8 1500 8 200 11 4000 [tmpfs]$;-))
Pas si incompréhensible que ça :
+POS1 [-POS2] Indiquer un champ à utiliser comme clé de tri pour chaque ligne. Le champ consiste en une portion de de ligne débutant à la posi- tion POS1, et s'étendant jusqu'à POS2 non-inclue (ou jusqu'à la fin de la ligne si POS2 n'est pas mentionnée). Les positions des champs et des caractères sont numérotées à partir de 0. -k POS1[,POS2] Une autre syntaxe possible pour indiquer les clés de tri. Les positions des champs et des caractères sont numérotées à partir de 1. Une position est de la forme f.c, où f est le numéro du champ à utiliser, et c le numéro du premier caractère depuis le début du champ (avec +pos) ou depuis la fin du champ précédent (avec -pos). La partie .c de la position peut être omise, auquel cas le caractère considéré est le premier du champ. Si l'option -b est choisie, la partie .c d'une spécification de champ est comptée à partir du premier caractère non-blanc du champ (pour +pos) ou à partir du premier caractère non- blanc suivant le champ précédent (pour -pos). Un argument +pos ou -pos peut également avoir un préfixe constitué d'une des lettres d'option Mbdfinr auquel cas les options globales ne s'appliquent pas à ce champ. l'option -b peut être attachée indépen- damment aux parties +pos ou -pos d'une spécification de champ. Si elle est héritée d'une option globale, elle s'appliquera aux deux parties. Si une option -n ou -M est utilisée, ceci implique que l'option -b s'applique aux deux spécifications +pos et -pos. Les clés peuvent s'étendre sur plusieurs champs.;-))
Super ! c'est exactement ça. Je viens de relire le man de sort, et c'est vrai qu'il y a un chariabia incompréhensible sur "POS is F[.C][OPTS] etc etc..."
Maintenant je suis certain : les concepteurs d'Unix/Linux ont tout fait rendre les pages de man illisibles au commun des utilisateurs ! C'est une secte ! :-))
Maintenant je suis certain : les concepteurs d'Unix/Linux ont tout fait rendre les pages de man illisibles au commun des utilisateurs ! C'est une secte ! :-))