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. 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...
      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.