- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2020-01-13T12:50:58+00:00","","")
#mynavi()
* 目次 [#i6c5a01c]
- 関連
-- [[シェルコマンド]]
-- [[Vimメモ]]
* treeの代替 [#bd4f6451]
#html(<div class="pl10">)
#mycode2(){{
mytree(){
indent=$1
dir=$2
if [ $# -lt 2 ]; then
indent=0
dir=$1
else
shift
fi
fi
if [ "$dir" == "" ]; then
dir=`pwd`
fi
fi
num=0
dirs_indent=""
files_indent=" "
while [ $num -lt $indent ]; do
files_indent=" $files_indent"
dirs_indent=" $dirs_indent"
num=`expr $num + 1`
done
while [ "$dir" != "" ]; do
num=0
dirs_indent=""
while [ $num -lt $indent ]; do
num=`expr $num + 1`
dirs_indent="${dirs_indent} "
done
if [ $indent -eq 0 ]; then
echo "$dir"
else
echo "$dirs_indent"`basename $dir`
fi
fi
dirs=`ls -l $dir | grep -E "^d" | sed -E 's/^.+ +//g' | awk -v dir=$dir '{print dir"/"$1}'`
files="`ls -l $dir | awk 'NF > 2{ print }' | grep -E "^-" | sed -E 's/^.+ +//g'`"
if [ "$files" != "" ]; then
echo "$files" | awk -v indent="$files_indent" '{print indent$1}'
fi
if [ "$dirs" != "" ]; then
mytree `expr $indent + 1` $dirs
fi
if [ ! -f $dir ]; then
files="`ls -1 $dir | awk -v dir=$dir '{print dir"/"$1}'`"
if [ "$files" != "" ]; then
mytree `expr $indent + 1` $files
indent=`expr $indent - 1`
fi
fi
shift
dir=$1
done
}
}}
#html(</div>)