dut 557 B

12345678910111213141516171819202122232425262728
  1. #
  2. # Displays the grand total disk usage using human readable units.
  3. #
  4. # Authors:
  5. # Suraj N. Kurapati <sunaku@gmail.com>
  6. # Sorin Ionescu <sorin.ionescu@gmail.com>
  7. #
  8. # function dut {
  9. (( $# == 0 )) && set -- *
  10. if [[ ${(@M)${(f)"$(du --version 2>&1)"}:#*GNU *} ]]; then
  11. du -khsc "$@" | sort -h -r
  12. else
  13. local line size name
  14. local -a record
  15. while IFS=$'\n' read line; do
  16. record=(${(z)line})
  17. size="$(($record[1] / 1024.0))"
  18. name="$record[2,-1]"
  19. printf "%9.1LfM %s\n" "$size" "$name"
  20. done < <(du -kcs "$@") | sort -n -r
  21. fi
  22. # }