Як підбити підсумки


1

Я хотів би отримати суму всіх розмірів папок, створених

du -sh /*something

Тобто замість:

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

Я хотів би зробити

du -sh /Applications/Adobe* [something]

11.8G

Як я можу це зробити?

Відповіді:


3

Використовуйте -cпрапор.

Від man du :
-c Показати загальну суму.

Це зробить приклад команди: du -sch /Applications/Adobe*


Велике спасибі! Не знаю, як я це пропустив.
Морган

-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

Не знаю, чи вважаю я це тривіальним, але дякую за код. Я люблю вивчати нові способи робити речі :)
Morgan

Захищений, тому що а) немає пояснень; б) надто складний; в) Гібрид в першому рядку
C-Отто,

@ C-Otto `/ () | _ | 4 | 23! \\ // 0 | 27} {`/
Ярослав Рахматуллін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.