Addition en bash

Résolu
Rhfactor -  
 Rhfactor -
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

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

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

;-))
6
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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.
2
swed
 
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
Rhfactor
 
Merci pour vos réponses vous m'avez bien aidé :-)
0