有的时候,我们需要对文件名做一些操作 如 将指定目录的所有 *.gif 文件都重命名为 *.jpg 写了个小脚本

内容如下:

[liuhaifeng01@tc tmp]$ ls                                                        ## 查看下文件名
1.gif  2.gif  3.gif  4.gif  a   re_name.sh 

[liuhaifeng01@tc tmp]$ cat re_name.sh                                   ## 查看脚本内容
#!/bin/bash
##用法 re_name.sh old_suffix new_suffix
##目录信息,以及参数错误返回值
D=`pwd`
ER_PAR=66
##判断参数个数是否小于2,是则退出脚本返回错误值
case $# in
        0|1)
        echo "Usage: `basename $0` old_file_suffix new_file_suffix"
        exit $ER_PAR
        ;;
esac
### 改名
cd ${D}

for filename in *.$1
do
        mv ${filename} ${filename%$1}$2
done

exit 0

[liuhaifeng01@tc tmp]$ bash re_name.sh gif jpg                ## 执行脚本
[liuhaifeng01@tc tmp]$ ls                                                ## 查看已经改过来了
1.jpg  2.jpg  3.jpg  4.jpg  a    re_name.sh 

[liuhaifeng01@tc tmp]$ bash re_name.sh gif                        ##如果就填写一个参数 会推出报错
Usage: re_name.sh old_file_suffix new_file_suffix

 

好啦,改名的脚本,写完了。。。。可以用