#!/bin/bash # # vtree - make a tree printout of the specified directory, with disk usage # in 1k blocks # # usage: vtree [-a] [dir] # # Original posted to Usenet sometime in February, 1996 # usage() { echo "vtree: usage: vtree [-a] [dir]" >&2 } while getopts a opt do case "$opt" in a) andfiles=-a ;; *) usage ; exit 2 ;; esac done shift $((OPTIND - 1)) export BLOCKSIZE=1k # 4.4 BSD systems need this [ $# -eq 0 ] && set . while [ $# -gt 0 ] do cd "$1" || { shift; [ $# -ge 1 ] && echo >&2; continue; } echo -n "$PWD" du $andfiles | sort +1f | sed \ 's/\([^ ]*\) \(.*\)/\2 (\1)/ '"s#^$1##"' s#[^/]*/\([^/]*\)$#|____\1# s#[^/]*/#| #g' [ $# -gt 1 ] && echo shift done