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. 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. 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...
      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
        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
          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
            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
              ;-))