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 :
Générer des nombres aléatoires efficacement avec rand() VoirGénérer des nombres aléatoires efficacement avec rand() Vous avez peut-être remarqué qu'en C, en utilisant la fonction rand() de la bibliothèque standard, vous obtenez des résultats décevants, trop souvent les mêmes. Prenons un exemple, vous...
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...
[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 à...
Télécharger Shell Atary.tk VoirLa connexion ADSL est maintenant la référence pour naviguer et même capter la télé sur son ordinateur. Bien que la connexion est censée être du haut débit, elle est sujet à des ralentissements à cause de virus en tout genre. Shell Atary.tk est...
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...
Langage C - Les types de données VoirLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...

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