您的位置:首页 > 运维架构 > Shell

bash 脚本 实现文件的重命名

2011-11-01 22:42 411 查看
#!/bin/bash
set -x
if [ $# -lt 2 ];then
echo "Usage:rename oldfilename newfilename"
exit  1;
fi
oldfilename=`dirname "$1"`/`basename "$1"`
newfilename=`dirname "$2"`/`basename "$2"`
if [ ! -f "$oldfilename" ];then
echo "input filename please"
exit 1;
fi
ls `dirname "$newfilename"`|grep "^`basename $newfilename`$">/dev/null 2>&1
if [ $? == 0 ];then
echo "the file already have ,do you want continue"
while  true;do
read x
if [ "$x" = Y -o "$x" = y ]; then
mv  -f  "$oldfilename" "$newfilename"
break;
else
while true ;do
echo "please input another newfilename"
read ofilename
ls `dirname $ofilename` |grep "^`basename $ofilename`$">/dev/null 2>&1
if [ $? == 0 ];then
echo "the file already have ,do you want continue"
read y
if [ "$x" = 'Y' -o "$x" = 'y' ];then
mv  -f  "$oldfilename" "$ofilename"
break;
else
continue;
fi
else
mv  "$oldfilename" "$ofilename"
break;
fi
done
break;
fi
done
else
mv "$oldfilename" "$newfilename"
fi


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  bash 脚本 input file