1833446 Members
3215 Online
110052 Solutions
New Discussion

Sum values

 
SOLVED
Go to solution
Wagner_17
Advisor

Sum values

Dear friends

Simple and stupid question:

I need to sum values of some files placed in some directory. I use awk to get values like exemple:

# ls -lt avbmon* | awk '{ print $5 }'
13628
13413
13413
13413

Now i have values, but i need obtain total. I try "sum" command, but i don't have succes with sintax. Can anyone help me? Thanks
6 REPLIES 6
TTr
Honored Contributor
Solution

Re: Sum values

James R. Ferguson
Acclaimed Contributor

Re: Sum values

Hi:

# ls -lt | awk 'END{printf "sum=%-3.0f\n",SUM};{SUM+=$5;print $5}'

Regards!

...JRF...
Wagner_17
Advisor

Re: Sum values

To obtain in MB values is just to divide by 1024 like below, right?

ls -lt avbmon* | awk 'END{printf "sum=%-3.0f\n",SUM};{SUM+=$5 /1024;print $5 }'
13628
13413
13413
13413
sum=53
Hein van den Heuvel
Honored Contributor

Re: Sum values

>> To obtain in MB values is just to divide by 1024 like below, right?

That would be KB.
For MB divide by 1024*1024 ( 1048576 )

Also, it is typically best to divide the sum, not the individual components.
Higher precision, and Fewer division (does not matter here).

If you only want the sum of the size, then drop the time sort order from -lt.

try:
ls -l avbmon* | awk 'END{printf "sum=%-3.0f\n",SUM/1048576};{SUM+=$5;print $5 }'

Hein
James R. Ferguson
Acclaimed Contributor

Re: Sum values

Hi:

To get MB, do:

# ls -lt avbmon* | awk 'END{printf "sum=%-3.2f\n",SUM/1024/1024};{SUM+=$5;print $5}'

...keep the precision as long as you can.

Regards!

...JRF...
Wagner_17
Advisor

Re: Sum values

Thanks to all!!!