简单的linux下转换目录和文件名为小写的脚本

博主修改同事给的简单脚本,改成两个shell脚本,一个查文件,一个改文件,可一次搞定多层大写目录的大小写转换,虽效率低但胜在简单。文中给出调用方法及两个脚本的具体代码。

脚本的原始版本时找同事要的,只有很简单一点,如果又多层大写目录,则需要执行多次脚本,我修改了以下,改成了两个脚本,一个用来查文件,一个用来改文件,不过又多少大写目录,都一次搞定,不过就是效率低了一些,凑合用倒是够了,如果最求速度,应该采用编译型语言来编写,使用shell就是为了一简单,不知道那位dx有没有更好的办法。

调用方法如果下

shell>uptolow.sh 目录(可以时绝对,也可以时相对)

脚本文件如下

uptolow.sh

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

#!/bin/sh

if test $# != 1
then
  echo "useage : $0 directory "
  exit -1
fi
LOG="/tmp/uptolow.log"
DIR=$1
LOWDIR=`echo $DIR|tr "[A-Z]" "[a-z]"`
if [ $DIR != $LOWDIR ]
then
  mv $DIR $LOWDIR
fi


findtoexec()
{
find $1 -exec uptolow2.sh {} /; >& $LOG
}

echo `date +%Y%m%d-%H%M` "start"

while : ; do
  findtoexec $LOWDIR
  if [ -s $LOG ]
  then
   echo `date +%Y%m%d-%H%M` "recursion next.."
  else
   break
  fi
done

echo `date +%Y%m%d-%H%M` "finished!"

 

uptolow2.sh

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

#!/bin/sh
new=`echo $1|tr "[A-Z]" "[a-z]"`
if [ "$1" != "$new" ]
then
  mv "$1" "$new"
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值