[gawk/shell] moyenne de nombres réels

histoirede -  
dubcek Messages postés 19021 Statut Contributeur -
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
A voir également:

5 réponses

dubcek Messages postés 19021 Statut Contributeur 5 637
 
essayer en divisant par /5.0
0
histoirede
 
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 ...
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
et avec 12,3 14,5 ?
0
histoirede
 
oui, il faut des virgules à la place des points et ça marche !
merci bien
0

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

Posez votre question
dubcek Messages postés 19021 Statut Contributeur 5 637
 
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'

0