Aide commande sort

Résolu
slackeruser Messages postés 146 Statut Membre -  
jisisv Messages postés 3678 Statut Modérateur -
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. jisisv Messages postés 3678 Statut Modérateur 936
     
    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
  2. Utilisateur anonyme
     
    salut,

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