#
# Displays the grand total disk usage using human readable units.
#
# Authors:
#   Suraj N. Kurapati <sunaku@gmail.com>
#   Sorin Ionescu <sorin.ionescu@gmail.com>
#

function 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 "$@"
