IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Calculer la moyenne, plusieurs fichiers


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2014
    Messages : 14
    Par défaut Calculer la moyenne, plusieurs fichiers
    Bonjour,
    j'ai 30 fichiers dans un dossiers , chaque fichier contient 8 colonnes.
    je voudrais calculer la moyenne de chaque 3eme col dans ts les fichiers et les mettre dans un autre fichier.
    voila un exemple de fichier entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    2012-01-02 00:00:00.000      0 002     25909.40   -373.49  36207.01  1
    2012-01-02 00:00:01.000      1 002     25909.46   -373.47  36207.16  1
    2012-01-02 00:00:02.000      2 002     25909.44   -373.40  36207.18  1
    2012-01-02 00:00:03.000      3 002     25909.46   -373.46  36207.07  1
    2012-01-02 00:00:04.000      4 002     25909.51   -373.32  36207.05  1
    2012-01-02 00:00:05.000      5 002     25909.49   -373.28  36207.01  1
    2012-01-02 00:00:06.000      6 002     25909.48   -373.32  36207.05  1
    2012-01-02 00:00:07.000      7 002     25909.40   -373.44  36207.18  1
    2012-01-02 00:00:08.000      8 002     25909.49   -373.46  36207.12  1
    2012-01-02 00:00:09.000      9 002     25909.49   -373.55  36207.11  1
    2012-01-02 00:00:10.000     10 002     25909.49   -373.50  36206.97  1
    le ficher sortie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      num de ficher --> 1    la moyenne de la $5---> 25917.3   la moyenne de la $6--> -380.25  la moyenne de la ---> 36206.4  
                                . 
                                . 
                                . 
                                30

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 713
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 713
    Par défaut
    Bonjour,

    je voudrais calculer la moyenne de chaque 3eme col dans ts les fichiers et les mettre dans un autre fichier.
    eh ben, vas-y !
    tu veux une autorisation signée ?


    je voudrais calculer la moyenne de chaque 3eme col [...]
    ça ne correspond pas à ce que tu montres plus bas

    à lire : parcourir/parser un fichier en shell
    ainsi que les tutos inscrits dans ma signature.

    bien sûr, awk sera bien plus adapter.
    cf. Gawk's user guide

  3. #3
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 408
    Par défaut
    Bonjour,

    Allez, soyons gentil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $ cat moy.txt
    2012-01-02 00:00:00.000      0 002     25909.40   -373.49  36207.01  1
    2012-01-02 00:00:01.000      1 002     25909.46   -373.47  36207.16  1
    2012-01-02 00:00:02.000      2 002     25909.44   -373.40  36207.18  1
    2012-01-02 00:00:03.000      3 002     25909.46   -373.46  36207.07  1
    2012-01-02 00:00:04.000      4 002     25909.51   -373.32  36207.05  1
    2012-01-02 00:00:05.000      5 002     25909.49   -373.28  36207.01  1
    2012-01-02 00:00:06.000      6 002     25909.48   -373.32  36207.05  1
    2012-01-02 00:00:07.000      7 002     25909.40   -373.44  36207.18  1
    2012-01-02 00:00:08.000      8 002     25909.49   -373.46  36207.12  1
    2012-01-02 00:00:09.000      9 002     25909.49   -373.55  36207.11  1
    2012-01-02 00:00:10.000     10 002     25909.49   -373.50  36206.97  1
     
    $ awk 'NF == 8 {X++;A+=$5;B+=$6;C+=$7};END{print A/X,B/X,C/X}' moy.txt
    25909.5 -373.426 36207.1

  4. #4
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 299
    Par défaut
    Bonjour

    Soyons gentils, mais chipotons.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ awk 'NF == 8 {X[FILENAME]++;A[FILENAME]+=$5;B[FILENAME]+=$6;C[FILENAME]+=$7};END{for (i in A) if (X[i]>0) print i,A[i]/X[i],B[i]/X[i],C[i]/X[i]}' moy.txt

  5. #5
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 408
    Par défaut
    Ok, mais si gnu awk (ce qui est le cas de ce forum):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk 'NF == 8 {X++;A+=$5;B+=$6;C+=$7};ENDFILE{if (X) print A/X,B/X,C/X;X=A=B=C=0}' moy.txt

  6. #6
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2014
    Messages : 14
    Par défaut
    merci pour tout le monde

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calculer une moyenne sur plusieurs colonnes
    Par stöckli dans le forum Requêtes
    Réponses: 5
    Dernier message: 12/10/2011, 15h44
  2. [XL-2003] Moyenne de dépenses à partir de plusieurs fichiers
    Par Mathal dans le forum Excel
    Réponses: 2
    Dernier message: 22/01/2010, 14h40
  3. [Débutante] Calcul de moyenne à partir de plusieurs fichiers
    Par clèmence rahma dans le forum Fortran
    Réponses: 2
    Dernier message: 08/04/2009, 15h35
  4. [Débutant] Calcul sur plusieurs fichiers MAT
    Par colocolo dans le forum MATLAB
    Réponses: 25
    Dernier message: 04/03/2009, 00h45
  5. Réponses: 14
    Dernier message: 06/05/2008, 16h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo