Rechercher : dans
Par :

[gawk/shell] moyenne de nombres réels

Dernière réponse le 5 déc 2007 à 15:46:33 histoirede, le 5 déc 2007 à 13:53:22 
 Signaler ce message aux modérateurs

Bonjour,

j'ai un fichier de 5 colonnes avec des nombrtes réels, je souhaite faire une moyenne simple par ligne de ces 5 colonnes.

ma ligne de commande est :
gawk '{printf "%6.2f\n",($1+$2+$3+$4+$5)/5}' file1 > file2

gawk me fait une moyenne des valeurs entières de chacune des colonnes, au lieu de considérer la valeur réelle.
pourtant j'ai spécifié une sortie au format réel dans file2, mais peut-être faut il préciser le format des colonnes (nombres réels) dans file1?

Auriez vous une idée ??

si ce n'est pas clair, faites moi signe !

Merci d'avance

Configuration: Linux Mandriva
Firefox 1.0.7

Meilleures réponses pour « [gawk/shell] moyenne de nombres réels » dans :
[Shell] Tester une variable numérique VoirTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à...
Vérifier si un nombre entier est un nombre premier en C VoirDéfinition nombre premier Algorithme 1 : les diviseurs compris entre 2 et N-1 seront testés Algorithme 2 : les diviseurs pairs ne seront pas testés, la recherche se limitant aux diviseurs impairs Algorithme 3 : les diviseurs impairs jusqu'à la...
Guide d'utilisation du Shell pour débutant VoirSHELL BASH - GUIDE D'UTILISATION - Niveau Débutant Introduction Appel aux membres CCM II. C'est quoi le shell ? III. Comment accéder à la ligne de commande IV. Les consoles virtuelles Exemple : Accéder à la console 3 depuis l'interface...
Représentation des nombres entiers et réels VoirReprésentation d'un nombre dans un ordinateur On appelle représentation (ou codification) d'un nombre la façon selon laquelle il est décrit sous forme binaire. La représentation des nombres sur un ordinateur est indispensable pour que celui-ci...
Linux - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire le système...

1

dubcek, le 5 déc 2007 à 13:55:18

Essayer en divisant par /5.0

Répondre à dubcek

2

histoirede, le 5 déc 2007 à 14:08:37

En faisant ça, il rajoute uniquement au résultat une décimale après la virgule
mails les $1, $2 ... sont toujours arrondis sur la valeur entière

par exemple pour une ligne où il y a 12.3, 14.5 et 15.6, la moyenne vaut 14.13
et bien, gawk me donne la moyenne de 12, 14 et 15 soit 13.66

il manque un argument à priori ...

Répondre à histoirede

3

dubcek, le 5 déc 2007 à 14:25:57

Et avec 12,3 14,5 ?

Répondre à dubcek

4

histoirede, le 5 déc 2007 à 14:50:25

Oui, il faut des virgules à la place des points et ça marche !
merci bien

Répondre à histoirede

5

 dubcek, le 5 déc 2007 à 15:46:33

Il doit y avoir une variable d'environnement ou une option de gawk qui définitr les paramètres de langue, comme le format
de la date ou le séparateur point ou virgule.
set | grep LC
ça doit être
export RC_LC_NUMERIC='.'
ou export RC_LC_NUMERIC='POSIX'

Répondre à dubcek
Collection CommentÇaMarche.net