J'ai un fichier texte avec des entrées comme 123 112 3333 44 2 p>
Comment ajouter ces chiffres et obtenir la somme de ceux-ci. P>
4 Réponses :
Exemple: Voir aussi: Une autre manière serait d'utiliser BC code>, une langue de calcul de précision arbitraire: P>
$ echo '123 112 3333 44 2' | tr ' ' '\n' | paste -sd+ | bc
3614
Un bash-seulement (non CAT code>) Variation sur
sum=0; for i in $(<number_file); do ((sum += i)); done; echo $sum
Pour les données d'échantillons d'OP, oui cela fonctionne. Mais pas lorsque des nombres décimaux / flotteurs sont impliqués.
Alternativement dans AWK
cat file.txt | awk 'BEGIN {sum=0} {for(i=1; i<=NF; i++) sum+=$i } END {print sum}'
Une seule commande awk le fait-il. Il ne casse pas lorsque vous avez des décimales à ajouter aussi.
awk '{for(i=1;i<=NF;i++)s+=$i}END{print s}' file
@Basilevs bash.