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. salut,

    il y a des exemples sur la page
    info coreutils 'sort invocation'
    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)