Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94393
  • 博文数量: 20
  • 博客积分: 474
  • 博客等级: 下士
  • 技术积分: 205
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-27 18:43
文章分类

全部博文(20)

文章存档

2011年(20)

分类: LINUX

2011-04-10 12:40:09

1:可以把命令的输出结果当作一个字符串,必要时可以直接用在循环体中。
2:tr 'a-z' 'A-Z'` <<< $temp 可以把字符串的内容输给tr,也可以用管道temp=`echo $filename | tr 'A-Z' 'a-z'`    。
3:用find命令可以输出一个目录的所有文件和子目录及其文件


下面是将一个目录的所有文件和子目录及子目录的文件和子目录(递归)的名字都该为小写。
  1. #!/bin/sh

  2. change()
  3. {
  4.     for filename in `ls`
  5.     do
  6.         temp=`echo $filename | tr 'A-Z' 'a-z'`        
  7.         if [ $filename != $temp ];then
  8.             mv $filename $temp
  9.         fi
  10.         
  11.         if [ -d $temp ];then
  12.             cd $temp            
  13.             change $temp
  14.             cd ..
  15.         fi            
  16.         
  17.             
  18.     done
  19.     return 0
  20. }
  21.             
  22. temp=$1
  23. if [ ! -d $temp ];then
  24.     echo "$temp is not a useful directory!"
  25.     exit 1
  26. fi
  27. cd $temp
  28. change $temp

  29. find *

  30. exit 0
阅读(1503) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~