Trouver min/max shell

angou -  
 angou -
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!
A voir également:

7 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
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
angou
 
merci a vous 2!
1
Darkito Messages postés 1191 Date d'inscription   Statut Membre Dernière intervention   545
 
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
angou
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Darkito Messages postés 1191 Date d'inscription   Statut Membre Dernière intervention   545
 
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
angou
 
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
jipicy Messages postés 41342 Statut Modérateur 4 896
 
[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