Somme en awk

amsy10 -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

j'ai besoin de faire la somme de certains colonnes :
j'ai fais cela mais ca ne marche pas

awk '{somme+=$3,$6,$9,$12,$15,$18} {print somme}' NomFichier

,120432,245840000,99146,24588,125143000,22597,11339,134580000,10489,1112,47764000,1080,178,21216000,172,25,6250000,22,

Merci d'avance

5 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    awk '{somme=$3+$6+$9+$12+$15+$18} {print somme}' NomFichier 
    0
  2. amsy10
     
    j ai comme résultat 0;
    et ce n'est pas normal
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      On peut avoir un extrait du fichier d'origine ?

      $ cat fic
      1  3 8 5
      2  2 8 1
      3  9 8 10
      
      $ awk 'som=$2+$3 { print som }' fic
      11
      10
      17
      0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    ~$ cat plop
    ,120432,245840000,99146,24588,125143000,22597,11339,134580000,10489,1112,47764000,1080,178,21216000,172,25,6250000,22, 
    :~$ awk '{somme=$3+$6+$9+$12+$15+$18} {print somme}' plop
    0
    ~$ awk -F',' '{somme=$3+$6+$9+$12+$15+$18} {print somme}' plop
    580793000
    


    lami20j
    0
  4. amsy10
     
    oups ,ca donne
    awk -F',' '{somme=$3+$6+$9+$12+$15+$18} {print somme}' youpz
    580793000

    Merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. amsy10
     
    Encore une question
    est-il possible d insérer la multiplication aussi ?
    du genre :
    awk -F',' '{somme=$3+$3*0.2+$6+$6*0.2+$9+$9*0.2+$12+$12+0.2+$15$15*0.2+$18+$18*0.2} {print somme}' youpz
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Personne ne t'empêche de tester la commande ;-)
      Tu sauras si c'est possible ;-)
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      somme=$3+$(3*0.2)+$6+($6*0.2) etc.
      0
    3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Mais en ce cas pourquoi pas

      awk -F',' '{somme=($3+$6+$9+$12+$15+$18) * 1.2 } {print somme}' plop
      0
    4. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Oups, petite erreur dans la syntaxe ;-(

      somme=$3+($3*0.2)+$6+($6*0.2) 

      Merci lami20j
      0
    5. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      hello
      au post #6, faut-il lire ...$12+$12+0.2.... ou ... $12+$12*0.2...
      0