#!/bin/bash
listAll() {
local f
local i=$1
for f in `ls -1`; do # 1 file per line
if [ -f "$f" ]; then
indent $i
echo "|- $f"
if [ "$COMMAND" != "" ]; then
IFS=$oIFS
$COMMAND "$f"
IFS=$nIFS
fi
elif [ -d "$f" ]; then
indent $i
echo "+- $f"
let i+=$INDENTS
cd "$f"
listAll $i
cd ..
let i-=$INDENTS
fi
done
}
indent() {
local i=0
while (( i < $1 )) # or: while [ i -lt $1 ]
do
echo -n " "
let i+=1
done
}
echo "Usage: shred-tree [-u]"
echo "-u: shred; otherwise just list"
echo
if [ "$1" = "-u" ]; then
COMMAND="" # put your command here, eg. ls -l
fi
# space delimitered:
oIFS=$IFS
# \n delimitered:
nIFS='
'
IFS=$nIFS # For file names containing spaces
INDENTS=3
listAll 0
Friday, December 5, 2008
'tree' script under Linux/Unix/Cygwin
A simple script to traverse all the directories and do whatever you want. The byproduct is a MS-DOS tree command.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment