Aide commande sort

Résolu/Fermé
slackeruser Messages postés 121 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 3 août 2018 - 7 févr. 2012 à 22:38
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 8 févr. 2012 à 00:59
J'ai un fichier test que je veux trier, le séparateur entre les champs est ';'.
La question est : trier ce fichier selon le 2eme champ en ordre décroissant et en cas d'égalité selon le 4eme champ en ordre croissant. (tri numérique)
Je ne comprends pas comment traduire 'en cas d'égalité ' par commande.

2 réponses

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
Modifié par jisisv le 8/02/2012 à 01:01
Inspire-toi de ceci:
johand@osiris: ~/src/CCM/bash $ cat sort.sh
#! /bin/bash
echo "blah;beta;333;1915
album;alpha;333;1815
blah;gamma;333;3141
blih;alpha;333;3141
blah;beta;333;1515
blih;gamma;333;004000
blah;beta;333;0150
album;alpha;333;001235" | sort -t ";"  -k2,2r  -k4,4n
t ";"  -k2,2r  -k4,4n 
johand@osiris: ~/src/CCM/bash $ ./sort.sh 
blah;gamma;333;3141 
blih;gamma;333;004000 
blah;beta;333;0150 
blah;beta;333;1515 
blah;beta;333;1915 
album;alpha;333;001235 
album;alpha;333;1815 
blih;alpha;333;3141


Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
1
Utilisateur anonyme
7 févr. 2012 à 23:10
salut,

il y a des exemples sur la page
info coreutils 'sort invocation'
0