字符串的截取与分割 四

知识共享许可协议 Creative Commons

步骤四:编写renfilex.sh脚本

1)验证原始改名脚本renfile.sh的效果
脚本用途为:批量修改当前目录下的文件扩展名,将.doc改为.txt。
脚本内容参考如下:

[root@svr5 ~]# vim renfile.sh
#!/bin/bash
for FILE in *.doc
do
    mv $FILE  ${FILE%.doc}.txt
done
[root@svr5 ~]# chmod +x renfile.sh

创建一个测试用的文件夹rendir,并在其下建几个测试文件

[root@svr5 ~]# mkdir rendir
[root@svr5 ~]# cd rendir
[root@svr5 rendir]# touch file1.doc abcde.doc xxyyzz.doc other1.xls killbill.mp4
[root@svr5 rendir]# ls
abcde.doc  file1.doc  killbill.mp4  other1.xls  xxyyzz.doc

调用renfile.sh脚本,查看修改结果(原来扩展名为.doc的文件,其扩展名都变成了.txt):

[root@svr5 rendir]# ../renfile.sh
[root@svr5 rendir]# ls
abcde.txt  file1.txt  killbill.mp4  other1.xls  xxyyzz.txt

2)建立改进版脚本renfilex.sh
要适应不同扩展名文件的修改,并能够反向还原。
修改前的扩展名、修改后的扩展名通过位置变量 $1、$2提供。
改进的脚本编写参考如下:

[root@svr5 rendir]# cp ../renfile.sh ../renfilex.sh
[root@svr5 rendir]# vim ../renfilex.sh
#!/bin/bash
for FILE in "$1"
do
    mv $FILE ${FILE%$1}"$2"
done

3)验证、测试改进后的脚本
将 *.doc文件的扩展名改为.txt:

[root@svr5 rendir]# ls  							//修改前
abcde.txt  file1.txt  killbill.mp4  other1.xls  xxyyzz.txt
[root@svr5 rendir]# ../renfilex.sh .txt .doc
[root@svr5 rendir]# ls  							//修改后
abcde.doc  file1.doc  killbill.mp4  other1.xls  xxyyzz.doc

*.mp4文件的扩展名改为.mkv:

[root@svr5 rendir]# ls  							//修改前
abcde.doc  file1.doc  killbill.mp4  other1.xls  xxyyzz.doc
[root@svr5 rendir]# ../renfilex.sh .mp4 .mkv
[root@svr5 rendir]# ls  							//修改后
abcde.doc  file1.doc  killbill.mkv  other1.xls  xxyyzz.doc

猜你喜欢

转载自blog.csdn.net/weixin_44774638/article/details/91852111