i-bash/examples/scripts/vtree2

44 lines
801 B
Text
Raw Normal View History

1996-12-23 17:02:34 +00:00
#!/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
1997-06-05 14:59:13 +00:00
# I believe that the original author is Brian S. Hiles <bsh29256@atc.fhda.edu>
1996-12-23 17:02:34 +00:00
#
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"
2002-07-17 14:10:11 +00:00
du $andfiles | sort -k 2f | sed \
1997-06-05 14:59:13 +00:00
-e 's/\([^ ]*\) \(.*\)/\2 (\1)/' \
-e "s#^$1##" \
-e 's#[^/]*/\([^/]*\)$#|____\1#' \
-e 's#[^/]*/#| #g'
1996-12-23 17:02:34 +00:00
[ $# -gt 1 ] && echo
shift
done