写完脚本想演示下文件与目录结构树,每次写脚本烦,索性弄到环境变量中去。
文件树脚本:
find . -print 2>/dev/null|awk '!/\.$/ {for (i=1;i<NF;i++){d=length($i);if ( d < 5 && i != 1 )d=5;printf("%"d"s","|")}print "---"$NF}' FS='/'
目录树脚本:
find . -type d -print 2>/dev/null|awk '!/\.$/ {for (i=1;i<NF;i++){d=length($i);if ( d < 5 && i != 1 )d=5;printf("%"d"s","|")}print "---"$NF}' FS='/'
环境变量中:注意转义处(awk中的"$"也需要转义)
#alias ftree
alias ftree="find . -print 2>/dev/null|awk '!/\.\$/ {for (i=1;i<NF;i++){d=length(\$i);if ( d < 5 && i != 1 )d=5;printf(\"%\"d\"s\",\"|\")}print \"---\"\$NF}' FS='/' "
#alias dtree
alias dtree="find . -type d -print 2>/dev/null|awk '!/\.\$/ {for (i=1;i<NF;i++){d=length(\$i);if ( d < 5 && i != 1 )d=5;printf(\"%\"d\"s\",\"|\")}print \"---\"\$NF}' FS='/'"