免费注册 查看新帖 |

Chinaunix

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

常用脚本命令集 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2004-08-10 21:51 |显示全部楼层

常用脚本命令集

一看到程序我就兴奋(不要误会:……))^_^,原来Linux可以这样用,无知的人可以很快的满足,^_^,让我试试!

论坛徽章:
0
2 [报告]
发表于 2004-08-11 01:08 |显示全部楼层

常用脚本命令集

如何列出目录树
代码:

下面的短小的shell程序可以列出目录树, 充分利用了sed强大的模式匹配能力.
  目录树形式如下:
  .
  `----shellp
  `----updates
  `----wu-ftpd-2.4
  | `----doc
  | | `----examples
  | `----src
  | | `----config
  | | `----makefiles
  | `----support
  | | `----makefiles
  | | `----man
  | `----util
  脚本如下:
  #!/bin/sh
  # dtree: Usage: dtree [any directory]
  dir=${1:-.}
  (cd $dir; pwd)
  find $dir -type d -print | sort -f | sed -e "s,^$1,," -e "/^$/d" -e "s,[^/]*/([^/]*)$,`----1," -e "s,[^/]*/,| ,g"

终于在Redhat 9.0下完成了这个shell,因为进入学习Linux不到一周,太费尽了,有点感想和总结,提出来大家批评指正.
1,变量dir是命令,改为dir1
2.提供一个sed的中文学习网址:
        http://www-900.ibm.com/developerWorks/cn/linux/shell/sed/sed-1/index.shtml
        http://www-900.ibm.com/developerWorks/cn/linux/shell/sed/sed-2/index.shtml
        http://www-900.ibm.com/developerWorks/cn/linux/shell/sed/sed-3/index.shtml
3.完成后的代码如下:
#!/bin/sh
# dtree: Usage: dtree [any directory]
dir1=${1:-.}
(cd $dir1;pwd)
find $dir1 -type d -print | sort -f | sed -e"s,[^/]*/\([^/]*\)$,'--\1," -e 's,[^/]*/,      |,g'

4.对sed命令的解释:
-e"s,[^/]*/\([^/]*\)$,'--\1,"  
   解释如下:
                s表示替换;
                s后的逗号表示分割,一般使用/来作为分割符号,,但是由于/表示路径,所以使用逗号;
                [^/]*/\([^/]*\)$表示
                        第一个不是字符/([^/],
                        中间没有字符/(*),但是以字符/结束的最后的字符串,
                        并使用标记以方便使用\([^/]*\)$;
                        但是只替换第一个出现的字符串,没有出现g
                '--\1    表示在标记1的地方进行替换

-e 's,[^/]*/,      |,g'
   解释如下:     
                [^/]*/ 表示第一个不是/([^/],中间没有/(*),但是以/结束的最后的字符串,
                g   表示任何地方出现匹配的字符串都替换;
5.感觉Shell有点类似DOS下的bat文件.不知道对不对
               
6.为什么在redhat 9.0 下 统计文件有问题,必须去掉*
ls -l | grep "^-" |wc -l
ls -l | grep "^d" | wc -l
我想请问是这条命令本身就是错误还是由于版本的问题,类似当时的MSDOS 和PC DOS的问题,有些命令刚好相反.

请高手指正.

论坛徽章:
0
3 [报告]
发表于 2004-08-11 17:10 |显示全部楼层

常用脚本命令集

谢谢gunguymadman的回复.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP