sum from ls -al |awk '{print $5}'


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sum from ls -al |awk '{print $5}'
# 1  
Old 07-31-2012
sum from ls -al |awk '{print $5}'

// AIX 5.3 & AIX 6.1

HTML Code:
ls -al |awk '{print $5}'
This gives each file's size in byte.
I need to get:

- the sum of all files in Giga bytes with loop.
- excluding the size of directories (ls -al returns the size of directories).

There are hundreds and thousands of files, so summing up with loop is needed.

Please advise.
# 2  
Old 07-31-2012
Hi

give a try to
Code:
find . -maxdepth 1 -type f -exec stat -c "%s" {} \; | awk '{s+=$1} END {print s}'

You can remove the -maxdepth 1 if you want to add the subdir contents.
# 3  
Old 07-31-2012
PHP Code:
root>find . -maxdepth 1 -type f -exec stat -"%s" {} \; | awk '{s+=$1} END {print s}'
find0652-017 -maxdepth is not a valid option.

root>find .  -type f -exec stat -"%s" {} \; | awk '{s+=$1} END {print s}' 
find0652-083 Cannot execute stat:: A file or directory in the path name does not exist.
find0652-083 Cannot execute stat:: A file or directory in the path name does not exist.
.... 
I am getting these errors..
# 4  
Old 07-31-2012
wc -c should do
# 5  
Old 07-31-2012
Quote:
Originally Posted by neutronscott
wc -c should do
Nice one Smilie

So it's
Code:
find .  -type f -exec wc -c {} \; | awk '{s+=$1} END {print s}'

# 6  
Old 07-31-2012
Code:
ls -al |awk '/^-/{s+=$5} END {print s}'

The conversion to Giga bytes is left as an exercise for the OP.

Last edited by vgersh99; 07-31-2012 at 05:31 PM..
# 7  
Old 08-01-2012
PHP Code:
root>ls -al |awk '/^-/{s+=$5} END {print s}' 
This one gives the output as;
PHP Code:
6.36022e+12 
PHP Code:
root>find .  -type f -exec wc -{} \; | awk '{s+=$1} END {print s}' 
and this one just hangs, not returning output..

Please advise.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk and sum

This is my file vol0 285GB vol0.snapshot 15GB vol11_root 0GB vol12_root 47GB vol12_root.snapshot 2GB I need the output vol0 285GB,vol0.snapshot 15GB,sum-300GB vol11_root 0GB,nosnap,sum-0Gb vol12_root 47GB,vol12_root.snapshot 2GB,49GB I was trying to use paste -d, --. But... (9 Replies)
Discussion started by: ranjancom2000
9 Replies

2. Shell Programming and Scripting

awk - Print Sum

Hi, I have an awk command that I am using, and part of it sums COL_9 however when I read the output it is not including decimal places; awk ' BEGIN{FS=OFS=","} NR==1{print;next} {a+=$9 c = $12 d = $18 } END{for(i in a) {split(i,b,";"); print $1, $2, $3, b, $5, $6, b, b, a, $10, $11,... (1 Reply)
Discussion started by: Ads89
1 Replies

3. Shell Programming and Scripting

awk sum of all columns needs to print exact amount

Hi I have attached txt file as input, and i'm able to calculate sum of columns at the end but the format of sum is not coming up right. awk -F"," '{for (i=4;i<=NF;i++) sum+=$i}{print}; END { sum="Total:"; for (i=1;i<=NF;i++) {printf sum ","} print "\n"}' input.txt check the o/p file, at... (6 Replies)
Discussion started by: manas_ranjan
6 Replies

4. Shell Programming and Scripting

Sum value in a row and print the max

I have the input file in attached. I want the output file : Date , Time , Max_Bearer 11/01/2013 , 23:00 , 1447.894167 11/02/2013 , 00:00 , 1429.266667 11/03/2013 , 00:00 , 712.3175 11/04/2013 , 22:00 , 650.9533333 11/05/2013 , 23:00 , 665.9558333 11/06/2013 , 23:00 , 659.8616667... (2 Replies)
Discussion started by: justbow
2 Replies

5. Shell Programming and Scripting

Search two patterns using awk to print the variable sum

Coins.txt: gold 1 1986 USA American Eagle gold 1 1908 Austria-Hungary Franz Josef 100 Korona silver 10 1981 USA ingot gold 1 1984 Switzerland ingot gold 1 1979 RSA Krugerrand gold 0.5 1981 RSA Krugerrand gold 0.1 1986 PRC Panda silver 1 1986 USA Liberty dollar gold 0.25 1986 USA Liberty... (2 Replies)
Discussion started by: Ramesh M
2 Replies

6. Shell Programming and Scripting

loop + sum + print using awk

Hi, I am unable sum of each column in the loop usng awk command. Awk is not allowing the parameters in the command. i am facing the below error. awk: 0602-562 Field $() is not correct. Source file abc.txt 100,200,300,400,500,600,700,800,900 101,201,301,401,501,601,701,801,901 ... (1 Reply)
Discussion started by: number10
1 Replies

7. Shell Programming and Scripting

Print sum and relative value of the sum

Hi i data looks like this: student 1 Subject1 45 55 Subject2 44 55 Subject3 33 44 // student 2 Subject1 45 55 Subject2 44 55 Subject3 33 44 i would like to sum $2, $3 (marks) and divide each entry in $2 and $3 with their respective sums and print for each student as $4 and... (2 Replies)
Discussion started by: saint2006
2 Replies

8. Shell Programming and Scripting

Sum using awk

Hi all, I need to sum values for fields in a delimited file as below: 2010-03-05||| 2010-03-05|||123 2010-03-05|467.621|369.532| 2010-03-06||| 2010-03-06||2| 2010-03-06|||444 2010-03-07||| 2010-03-07||| 2010-03-07|655.456|1019.301| Code used is: nawk -F "|" ' { sum +=... (7 Replies)
Discussion started by: Katabatic
7 Replies

9. Shell Programming and Scripting

scripting/awk help : awk sum output is not comming in regular format. Pls advise.

Hi Experts, I am adding a column of numbers with awk , however not getting correct output: # awk '{sum+=$1} END {print sum}' datafile 2.15291e+06 How can I getthe output like : 2152910 Thank you.. # awk '{sum+=$1} END {print sum}' datafile 2.15079e+06 (3 Replies)
Discussion started by: rveri
3 Replies
Login or Register to Ask a Question