diff options
author | An-Cheng Huang <ancheng@vyatta.com> | 2007-11-12 13:06:02 -0800 |
---|---|---|
committer | An-Cheng Huang <ancheng@vyatta.com> | 2007-11-12 13:06:02 -0800 |
commit | b7fc9e0f6d6105ba2203f219743d4b269415e84b (patch) | |
tree | ef6586dfc62798c2b17487b443864699aca55f31 /examples/scripts/vtree2 | |
download | vyatta-bash-b7fc9e0f6d6105ba2203f219743d4b269415e84b.tar.gz vyatta-bash-b7fc9e0f6d6105ba2203f219743d4b269415e84b.zip |
initial import from bash_3.1dfsg.orig.tar.gz
Diffstat (limited to 'examples/scripts/vtree2')
-rwxr-xr-x | examples/scripts/vtree2 | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/examples/scripts/vtree2 b/examples/scripts/vtree2 new file mode 100755 index 0000000..878cbab --- /dev/null +++ b/examples/scripts/vtree2 @@ -0,0 +1,43 @@ +#!/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 +# I believe that the original author is Brian S. Hiles <bsh29256@atc.fhda.edu> +# +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 -k 2f | sed \ + -e 's/\([^ ]*\) \(.*\)/\2 (\1)/' \ + -e "s#^$1##" \ + -e 's#[^/]*/\([^/]*\)$#|____\1#' \ + -e 's#[^/]*/#| #g' + + [ $# -gt 1 ] && echo + shift +done |