Trouver min/max shell

Bonjour,

Depuis une interface shell je souhaiterais lire un fichier (3colonnes lon /lat /valeur) et trouver min et max de la troisieme colonne. Puis afficher ces 2 valeurs min et max (je débute je ne connais pas la syntaxe) Merci!
Configuration: Linux
Firefox 2.0.0.6

7 réponses

  1. Bonjour

    min=$(cut -f3 $tonfichier | sort -n | head -1)
    max=$(cut -f3 $tonfichier | sort -n -r | head -1)
    
    echo "$min $max"
    


    Il doit y avoir plus "propre" mais ça doit fonctionner.
    Il n'y a plus qu'à attendre que jipicy passe dans le coin...
    0
    1. Merci mais ce code me sort 2 lignes dont la 3eme colonne ne corraspond pas au min et max. Pourrais tu m'en dire plus ou bien faut il attendre el maestro jipicy
      0
      1. Je t'ai mis la syntaxe pour un script sh.
        Si tu veux le lancer directement dans le shell.

        set min=`cut -f3 Tonfichier | sort -n | head -1`
        set max=`cut -f3 Tonfichier | sort -n -r | head -1`
        echo $min $max
        0
        1. Modérateur
          Salut vous deux,

          Faudrait peut être nous afficher un bout de ton fichier histoire qu'on puisse voir le délimiteur de champs, non ?

          La syntaxe de "Darkito" est nickel, et avec le bon délimiteur, ça devrait le faire mieux encore ;-))
          min=$(cut -d "délimiteur" -f3 Tonfichier | sort -n | head -1)
          max=$(cut -d "délimiteur" -f3 Tonfichier | sort -n -r | head -1)
          echo $min $max
          :-))
          1
          1. Rebonsoir , voila a quoi ressemble mon fichier (3 colonnes sur 16500 lignes)

            -4.950000 41.05000 0.000000
            -4.950000 41.15000 0.000000
            -4.950000 41.25000 0.000000
            -4.950000 41.35000 0.000000

            Merci encore
            0
            1. Modérateur
              [tmpfs]$ cat angou
              -4.950000 41.05000 0.007000
              -4.950000 41.15000 0.000400
              -4.950000 41.25000 0.000090
              -4.950000 41.35000 0.800000
              -4.950000 41.05000 3.000000
              -4.950000 41.15000 0.000000
              -4.950000 41.25000 0.050000
              -4.950000 41.35000 1.000000
              
              [tmpfs]$ cut -d" " -f3 angou | sort -n | sed '1,${1b;$b;d}'
              0.000000
              3.000000
              ;-))
              0