Somme en awk

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. Contributeur
    Salut,

    awk '{somme=$3+$6+$9+$12+$15+$18} {print somme}' NomFichier 
    1. j ai comme résultat 0;
      et ce n'est pas normal
      1. Contributeur
        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
    2. Modérateur
      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
      1. oups ,ca donne
        awk -F',' '{somme=$3+$6+$9+$12+$15+$18} {print somme}' youpz
        580793000

        Merci
        1. 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
          1. Modérateur
            Personne ne t'empêche de tester la commande ;-)
            Tu sauras si c'est possible ;-)
          2. Contributeur
            somme=$3+$(3*0.2)+$6+($6*0.2) etc.
          3. Modérateur
            Mais en ce cas pourquoi pas

            awk -F',' '{somme=($3+$6+$9+$12+$15+$18) * 1.2 } {print somme}' plop
          4. Contributeur
            Oups, petite erreur dans la syntaxe ;-(

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

            Merci lami20j
          5. Contributeur
            hello
            au post #6, faut-il lire ...$12+$12+0.2.... ou ... $12+$12*0.2...