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

shell 更改文件后缀-字符串操作

2013-01-20 12:32 495 查看
#将后缀名为.rmvb 改为 .avi, 将会递归将本目录下面所有文件进行更改

#! /bin/bash

SUFFIX=".avi"

if [ -z $1 ] #判断是否带参数,没带参数以当前目录为默认值
then
echo "arg is null, reset it as ./"
DIREC=$PWD
else
echo "set $1 as dir"
DIREC=$1
fi

function SUFFIX_CHANGE()
{
for file in $1/*
do

if [ -d $file ] #如果是目录文件进行递归调用
then
echo "$file dir file"
SUFFIX_CHANGE $file
fi

filename=`expr match "$file" '\(.*rmvb\)'` #对文件进行匹配

if [ -z $filename ]
then
echo "$file is not match!!"
continue
else
filename=${file%.*rmvb} #去掉旧的后缀名
filename+=$SUFFIX #添加新的后缀名
echo "rename $file to $filename"
`mv -f $file "$filename"` #重新名命
fi
done
return 0
}

SUFFIX_CHANGE $DIREC #函数调用

echo "exit shell"

exit 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell 字符串
相关文章推荐