Trouver min/max shell
angou
-
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!
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
-
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
:-))
-
-
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... -
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
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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
-
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 -
[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;-))