Aide commande sort

Résolu
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

  1. Modérateur
    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. salut,

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