How to summarize du results

1

I'd like to get the sum of all folder sizes produced by

du -sh /*something

That is, instead of:

du -sh /Applications/Adobe*

639M    Adobe
871M    Adobe Acrobat X Pro
1.0G    Adobe After Effects CS6
474M    Adobe Audition CS6
351M    Adobe Bridge CS6
390M    Adobe Dreamweaver CS6
551M    Adobe Encore CS6
 22M    Adobe Extension Manager CS6
450M    Adobe Fireworks CS6
1.5G    Adobe Flash Builder 4.6
1.8G    Adobe Flash CS6
604M    Adobe Illustrator CS6
440M    Adobe InDesign CS6
696M    Adobe Media Encoder CS6
639M    Adobe Photoshop CS6
515M    Adobe Prelude CS6
959M    Adobe Premiere Pro CS6
129M    Adobe SpeedGrade CS6

I'd like to do

du -sh /Applications/Adobe* [something]

11.8G

How can I do this?

Morgan

Posted 2013-04-04T13:55:52.633

Reputation: 611

Answers

3

Use the -c flag.

From man du:
-c Display a grand total.

That would make the example command: du -sch /Applications/Adobe*

Hennes

Posted 2013-04-04T13:55:52.633

Reputation: 60 739

Thank you very much! Don't know how I missed that. – Morgan – 2013-04-04T14:27:08.250

-1

7}{1$ 1$ 4 7|21\/14|_ 74$|< |=0|2 4 $34$0|\|3|> }{4><><0|2

$ du -sk archives/*
820     archives/droiddraw-r1b21.tgz
21964   archives/eclim_1.7.2.jar
80      archives/fe2.tar
13400   archives/fpsu.tar.bz2
6324    archives/rapport.zip
24      archives/volumeslider.jar

$ SUM=$(( $( echo 0`du -sk archives/*  |
    awk '{ n=split($0,arr,""); for(i=1;i<=n;i++) s=arr[i] s ; print s;s=""} ' | 
    awk '{print $NF}' | 
    sed 's/./&\n/g' | cat -n |sort -rn | cut -f2 |
    sed s/^$/+/` | tr -d \  ))); 
printf %d\\n ${SUM}
42612

Ярослав Рахматуллин

Posted 2013-04-04T13:55:52.633

Reputation: 9 076

Downvoted because a) No explanation b) Too complicated c) Gibberish in the first line – C-Otto – 2017-01-31T12:14:56.520

@C-Otto `/()|_| 4|23 ! \//0|27}{`/ – Ярослав Рахматуллин – 2017-02-01T11:31:46.037

Don't know if I'd consider it trivial, but thanks for the code. I love learning new ways to do stuff :) – Morgan – 2013-04-08T22:18:18.083