免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4962 | 回复: 6
打印 上一主题 下一主题

刚写了两个tree功能的脚本  关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-06-14 02:11 |只看该作者 |倒序浏览
tree
希望这个能跑在linux和hpux

  1. #! /bin/sh
  2. case $# in
  3. 0) curpath=$PWD ;;
  4. 1) cd $1 2>/dev/null && curpath=$PWD || exit 9 ;;
  5. *) echo "usage $0 [path]" ; exit 1 ;;
  6. esac

  7. case $(uname) in
  8. HP-UX) ECHO="echo " ;;
  9. *) ECHO="echo -e " ;;
  10. esac

  11. echo $curpath
  12. pre=$(echo $curpath |awk -F/ '{print NF}')
  13. find $curpath -name "*" -o -name ".*" 2>/dev/null |sed -n '2,$p' |while read line; do
  14. i=2
  15. num=$(echo $line |awk -F/ '{print NF}')
  16. num=$((num-pre+1))
  17. while [ $i -lt $num ] ; do
  18. $ECHO "|     \c"
  19. num=$((num-1))
  20. done
  21. $ECHO "|-----"${line##*/}
  22. done

复制代码



tree1

  1. #!/bin/sh
  2. find ./ -name "*" -o -name ".*" 2>/dev/null |sed -e 's/^\.//' |sed -n '2,$p' | while read line
  3. do
  4.   a=`echo $line |awk -F\/ '{print NF}'`
  5.   a=$((a-2))
  6.   i=1
  7.   case $a in
  8.   0) echo $line |sed -e 's/\//|---/' ;;
  9.   *) while [ ! $i -gt $a ]; do
  10.        line=`echo $line |sed -e 's/\/[^\/]*/|   /'`
  11.        i=$((i+1))
  12.      done
  13.      echo $line |sed -e 's/\//|---/' -e 's/  */   /g';;
  14.   esac
  15. done
复制代码


更新了第一个脚本. 修正了bug

论坛徽章:
0
2 [报告]
发表于 2004-08-29 16:24 |只看该作者

刚写了两个tree功能的脚本

这么难哦!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2004-08-31 19:35 |只看该作者

刚写了两个tree功能的脚本

收到,呵呵,改了一下,这样SCO也能用啦

  1. #!/bin/sh
  2. find ./ -name "*" -o -name ".*" 2>/dev/null |sed -e 's/^\.//' |sed -n '2,$p' | w
  3. hile read line
  4. do
  5.   a=`echo $line |awk -F\/ '{print NF}'`
  6.   a=`expr $a - 2`
  7.   i=1
  8.   case $a in
  9.   0) echo $line |sed -e 's/\//|---/' ;;
  10.   *) while [ ! $i -gt $a ]; do
  11.        line=`echo $line |sed -e 's/\/[^\/]*/|   /'`
  12.        i=`expr $i + 1`
  13.      done
  14.      echo $line |sed -e 's/\//|---/' -e 's/  */   /g';;
  15.   esac
  16. done
复制代码

论坛徽章:
0
4 [报告]
发表于 2005-03-04 18:10 |只看该作者

刚写了两个tree功能的脚本

呵呵~太棒了`谢谢!!

论坛徽章:
0
5 [报告]
发表于 2005-03-06 00:48 |只看该作者

刚写了两个tree功能的脚本

find ./ -name "*" -o -name ".*"  不如直接 find ./

论坛徽章:
0
6 [报告]
发表于 2005-03-06 21:04 |只看该作者

刚写了两个tree功能的脚本

  1. echo $line |awk -F\/ '{print NF}'
复制代码

可以改为
  1. basename $line
复制代码

论坛徽章:
0
7 [报告]
发表于 2005-03-07 00:08 |只看该作者

刚写了两个tree功能的脚本

原帖由 "ZealeS" 发表:
echo $line |awk -F\/ '{print NF}'
可以改为 basename $line

  ZealS 大概是看的太快了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP