Calculer la moyenne, plusieurs fichiers

Résolu/Fermé
Lara - 18 juil. 2011 à 17:33
 Lara - 19 juil. 2011 à 15:11
Bonjour,

j'ai 219 fichiers dans un dossiers , chaque fichier contient trois columns.
les deux premiers sont pareils .
je voudrais calculer la moyenne de tous les 3eme col dans ts les fichiers et les mettre dans un autre fichier.
j'ai essayé:

paste file* > total

awk '{print $1, $2, ($3+$6+$9+$12+$15+$18+$21+$24+$27+$30+$33+$36+$39+$42+$45+$48+$51+$54+$57+$60+.......)/219.0}' total> Moyenne
y a t il une manière simple de calculer cette moyenne sans être obligé d'écrire ($3+$6+$9+$12+$15+$18+$21+$24+$27+$30+$33+$36+$39+$42+$45+$48+$51+$54+$57+$60........................????

Merci d'avance

3 réponses

Bonjour,

Ca ressemblera à quelque chose comme ça :
cat file* | awk  '{ SUM[$1 " " $2] += $3 } END { for (v in SUM) { printf("%s %s\n", v, SUM[v]/219) } }'
1
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
19 juil. 2011 à 11:23
Bien joué, merci ;-)
0
trop bien!!!!, Merciiiii
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
18 juil. 2011 à 17:45
Salut,

Je suppose que ceci devrait faire l'affaire :

cat file* | awk  '{ SUM+=$3 } END { print SUM / 219 }'

0
aide?
0
Desolée, j'étais pas claire
il faut avoir un col qui contient les valeurs moyennes de tous les cols numéro 3 , par ex :
file 1:
A B 3
C D 6
E F 0
file 2
A B 1
C D 4
E F 2
et je voudrais:
A B 2
C D 5
E F 1
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
19 juil. 2011 à 10:37
Oups ;-((

Désolé mais là mes connaissances avec "awk" étant limitées au strict minimum je ne peux t'aider, par contre il me semble avoir déjà vu passé des posts similaires et si mes souvenirs sont bons, le traitement se faisait via des tableaux...

Essaie de chercher une solution via cette voie (awk + tableau) ;-\
0
ok , merci bien
0