prezto/modules/utility/functions/dut
Kaleb Elwert 47467a1b0e Update functions to all use POSIX syntax
I'm not a huge fan of this change, as I've made it known. However, this
is semi-recommended by the style guide we've chosen to use and is a more
common syntax.

Fixes #692.
2017-07-05 23:21:38 -07:00

27 lines
570 B
Text

#
# Displays the grand total disk usage using human readable units.
#
# Authors:
# Suraj N. Kurapati <sunaku@gmail.com>
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
dut() {
(( $# == 0 )) && set -- *
if grep -q -i 'GNU' < <(du --version 2>&1); then
du -khsc "$@" | sort -h -r
else
local line size name
local -a record
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
fi
}
dut "$@"