Addition en bash

Résolu
Bonjour,

Je sollicite votre aide concernant une petite manip en bash

J'ai un fichier dont chaque ligne contient des entiers, de la forme suivante:
(sortie en faisant un cat fichier.test):

26
7
342
17
431
83
...
Le fichier contient environ 300000 lignes, je souhaite additionner toutes les valeurs entre elles et voir le résultat et et je ne vois pas comment faire....

Quelqu'un a-t-il une idée?

Merci d'avance!

4 réponses

  1. Modérateur
    Salut,

     awk '{SUM += $1} END  {print "Total : "SUM}' fichier.test

    ;-))
    1. Contributeur
      sans testé, je dirai :
      ((som=0))
      for((i=0;i< `wc -l fichier.test `; i++)) 
      do (( som+=$(head -n $i fichier.test|tail -n 1 ) ))
      done

      il doit y avoir plus sioux, avec sed par exemple à la place de head et tail.
      1. Bonjour,
        Sans tester :

        total=0
        for nombre in `cat fichier.test`; do
        total=`expr $total + $nombre`
        done
        echo "Total = $total"

        Il y a probablement des problèmes de syntaxe, mais l'idée y est...