lire à partir du fichier et ajouter des numéros J'ai fichier texte avec des entrées comme 123 112 3333 44 2 Comment ajouter ces numéros et obtenir la somme de ces. Langage de programmation? OriginalL'auteur Laks | 2010-04-03 addbash 10 Exemple: $ cat numbers.txt 123 112 3333 44 2 $ SUM=0; for i in `cat numbers.txt`; do SUM=$(($SUM + $i)); done; echo $SUM 3614 Voir aussi: Bash Programmation Introduction, la section sur l'arithmétique d'évaluation Un autre moyen serait d'utiliser bc, une précision arbitraire calculatrice langue: $ echo '123 112 3333 44 2' | tr ' ' '\n' | paste -sd+ | bc 3614 Coller fonctionne généralement sur les lignes, nous avons donc besoin d' tr. ne fonctionne pas si il y a des décimales. OriginalL'auteur miku 4 Un Bash uniquement (pas de cat) variation sur MYYN de réponse. sum=0; for i in $(<number_file); do ((sum += i)); done; echo $sum Aussi, la note la plus simple arithmétique déclaration. pour l'OP de l'échantillon de données, oui, il fonctionne. Mais pas quand les nombres décimaux/flotteurs sont impliqués. "avec des entrées comme" OriginalL'auteur Dennis Williamson 2 juste une commande awk t-il. Elle ne se casse pas quand vous avez décimales à ajouter en tant que bien. awk '{for(i=1;i<=NF;i++)s+=$i}END{print s}' file OriginalL'auteur ghostdog74 0 Alternativement dans Awk echo "123 112 3333 44 2" | awk 'BEGIN {sum=0} {for(i=1; i<=NF; i++) sum+=$i } END {print sum}' Ou si c'est dans un fichier cat file.txt | awk 'BEGIN {sum=0} {for(i=1; i<=NF; i++) sum+=$i } END {print sum}' Je trouve Awk beaucoup plus facile à lire/rappelez-vous. Bien que "Dave Jarvis" solution est particulièrement soignée! pas besoin de chat. OriginalL'auteur Jamie Vous devez vous connecter pour publier un commentaire.
Exemple:
Voir aussi: Bash Programmation Introduction, la section sur l'arithmétique d'évaluation
Un autre moyen serait d'utiliser
bc
, une précision arbitraire calculatrice langue:Coller fonctionne généralement sur les lignes, nous avons donc besoin d'
tr
.OriginalL'auteur miku
Un Bash uniquement (pas de
cat
) variation sur MYYN de réponse.Aussi, la note la plus simple arithmétique déclaration.
"avec des entrées comme"
OriginalL'auteur Dennis Williamson
juste une commande awk t-il. Elle ne se casse pas quand vous avez décimales à ajouter en tant que bien.
OriginalL'auteur ghostdog74
Alternativement dans Awk
Ou si c'est dans un fichier
Je trouve Awk beaucoup plus facile à lire/rappelez-vous. Bien que "Dave Jarvis" solution est particulièrement soignée!
OriginalL'auteur Jamie