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