2012-02-01 04:37:51 +00:00
|
|
|
#
|
2012-06-10 22:53:44 +00:00
|
|
|
# Displays the grand total disk usage using human readable units.
|
2012-02-01 04:37:51 +00:00
|
|
|
#
|
|
|
|
# Authors:
|
|
|
|
# Suraj N. Kurapati <sunaku@gmail.com>
|
|
|
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
|
|
#
|
|
|
|
|
2012-06-10 22:53:44 +00:00
|
|
|
function dut {
|
2011-10-12 03:13:58 +00:00
|
|
|
(( $# == 0 )) && set -- *
|
2012-05-21 20:24:39 +00:00
|
|
|
|
2012-04-12 01:38:04 +00:00
|
|
|
if grep -q -i 'GNU' < <(du --version 2>&1); then
|
2011-10-12 03:13:58 +00:00
|
|
|
du -khsc "$@" | sort -h -r
|
|
|
|
else
|
2012-05-19 16:05:42 +00:00
|
|
|
local line size name
|
|
|
|
local -a record
|
2012-05-21 20:24:39 +00:00
|
|
|
|
2012-05-19 16:05:42 +00:00
|
|
|
while IFS=$'\n' read line; do
|
|
|
|
record=(${(z)line})
|
|
|
|
size="$(($record[1] / 1024.0))"
|
|
|
|
name="$record[2,-1]"
|
|
|
|
printf "%9.1LfM %s\n" "$size" "$name"
|
|
|
|
done < <(du -kcs "$@") | sort -n -r
|
2011-10-12 03:13:58 +00:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2012-06-10 22:53:44 +00:00
|
|
|
dut "$@"
|