Om de grootste 10 bestanden te vinden (linux/bash):
find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}
Om de grootste 10 directories te vinden:
find . -type d -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}
Het enige verschil is -type {d:f}
.
Behandelt bestanden met spaties in de namen, en produceert menselijk leesbare bestandsgroottes in de uitvoer. Het grootste bestand wordt als laatste weergegeven. Het argument voor tail is het aantal resultaten dat u ziet (hier de 10 grootste).
Er worden twee technieken gebruikt om spaties in bestandsnamen te verwerken. De find -print0 | xargs -0
gebruikt null scheidingstekens in plaats van spaties, en de tweede xargs -I{}
gebruikt newlines in plaats van spaties om invoeritems te beëindigen.
voorbeeld:
$ find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}
76M ./snapshots/projects/weekly.1/onthisday/onthisday.tar.gz
76M ./snapshots/projects/weekly.2/onthisday/onthisday.tar.gz
76M ./snapshots/projects/weekly.3/onthisday/onthisday.tar.gz
76M ./tmp/projects/onthisday/onthisday.tar.gz
114M ./Dropbox/snapshots/weekly.tgz
114M ./Dropbox/snapshots/daily.tgz
114M ./Dropbox/snapshots/monthly.tgz
117M ./Calibre Library/Robert Martin/cc.mobi
159M ./.local/share/Trash/files/funky chicken.mpg
346M ./Downloads/The Walking Dead S02E02 ... (dutch subs nl).avi