adding hundreds of numbers

Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers adding hundreds of numbers
# 1  
Old 09-24-2009
adding hundreds of numbers

i know how to add two numbers using expr,
but if i have a file with hundreds of numbers, how do i add them all together, without typing them all one by one?

for example, file.txt contains

how can i give a command to add them, without typing

$ expr `4 + 5 + 6 + 7`
# 2  
Old 09-24-2009
perl -nle '$total+=$_; END{ print $total; }' file.txt

# 3  
Old 09-24-2009
thanks! searching the forum, i saw another command that i used:

awk '{s+=$2; a=$1+$2+$3;if(a > b){l=$0;b=a}}END{printf "%s\n%s\n",l,s}' list.txt

if i use this, it gives 612261491
if i use your command, it gives 3963988218

do you maybe know what causes the big difference in outcomes?
# 4  
Old 09-24-2009
You mean besides the fact that the awk command does something completely different? It sums up the second column (which is empty in the example you gave), and also searches for the line with the largest sum across it's columns.
# 5  
Old 09-24-2009
with awk

awk '{ tot = $1 + tot } END { print tot }' file.txt

# 6  
Old 09-24-2009
echo $(sed -e 's/$/+/' text.txt) 0 | bc

# 7  
Old 09-24-2009
Or: Only using "expr"

cat itemlist.txt | while read ITEM
        echo "ITEM  = ${ITEM}"
        TOTAL=`expr ${TOTAL} + ${ITEM}`
echo "----------"
echo "TOTAL = ${TOTAL}"
echo "----------"

ITEM  = 4
ITEM  = 5
ITEM  = 6
ITEM  = 7
TOTAL = 22

Note: Basic shell arithmetic with "expr" will only work up to a maximum total of 2,147,483,647 ((1024 x 1024 x 1024 x 2) -1).
For larger numbers use "bc".

TOTAL=`echo "${TOTAL} + ${ITEM}"|bc`

Last edited by methyl; 09-24-2009 at 09:49 AM.. Reason: Limits
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Adding (as in arithmetic) to numbers in columns in file, and writing new file with new numbers

Hi again. Sorry for all the questions — I've tried to do all this myself but I'm just not good enough yet, and the help I've received so far from bartus11 has been absolutely invaluable. Hopefully this will be the last bit of file manipulation I need to do. I have a file which is formatted as... (4 Replies)
Discussion started by: crunchgargoyle
4 Replies

2. UNIX for Dummies Questions & Answers

Adding Column Of Numbers

Hello. Trying to add a column of numbers and combine the 1st and 2nd fields as uniq with the new total. This works to add the numbers but can't figure an easy was to combine the 1st and 2nd column as the list is very long. awk '{s+=$3} END {print s}' bird dog 300 bird dog 100 cat clown 200... (1 Reply)
Discussion started by: jimmyf
1 Replies

3. Shell Programming and Scripting

help with adding up numbers

I have a file which has following contents which I want to add up. 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 139038.72 139038.72 139038.72 139038.72 (5 Replies)
Discussion started by: aksijain
5 Replies

4. Shell Programming and Scripting

Adding row of numbers

is there another way of doing the below: echo "7 3 8 2 2 1 3 83.4 8.2 4 8 73 90.5" | bc shell is bash. os is linux and sunos. bc seems to have an issue with long range of numbers (12 Replies)
Discussion started by: SkySmart
12 Replies

5. Shell Programming and Scripting

Adding numbers

Hi I figured how to add my list of numbers. However how do I count so that after a certain number it lists the line. Example: 12 test1 46 test2 195 test3 174 test4 634 test5 185 test6 94 test7 So basically add the numbers and when the addition reaches 300 or less print the... (8 Replies)
Discussion started by: bombcan
8 Replies

6. UNIX for Dummies Questions & Answers

Adding numbers in unix

Hi this is quite a simple question... I am new to LINUX/UNIX and so I am just trying to create a very basic program. The idea is that when the user runs the program (from the shell) they enter 3 values and the program will add them up: "./sum 23 5 1 29" my code for this program is as follows: ... (4 Replies)
Discussion started by: csuieb
4 Replies

7. Shell Programming and Scripting

adding a list of numbers 3 by 3

i have a list of numbers like this; 124 235 764 782 765 451 983 909 ... and i want to make a sum with the first 3 of them then the next 3 and so on. 124+235+764=1123 782+765+451=1998 ... some ideas? (4 Replies)
Discussion started by: Tártaro
4 Replies

8. UNIX for Advanced & Expert Users

Adding a column of numbers

Hello, I have a file, and one column has both positive and negative numbers. Does anyone know how I can calculate the total of all the values (i.e, +ve and -ve). eg: col1 col2 col3 data 23 data data 76 data data -30 data Thanks Khoom (1 Reply)
Discussion started by: Khoomfire
1 Replies

9. Shell Programming and Scripting

adding float numbers

how to add 2 float values to each other? i tried this and it doesnt work: #!bin/bash numone=1.234 numtwo=0.124 total=`expr $numone + $numtwo` echo $total thanks (5 Replies)
Discussion started by: strike
5 Replies

10. Shell Programming and Scripting

Adding 2 numbers

I would like to write a script with BASH to add two numbers (integer) and write the result to the standard output. Please help! (7 Replies)
Discussion started by: Viper01
7 Replies
Login or Register to Ask a Question