例如:我们现在有如下文件列表
我们现在想要把.log、.LOG与.rar为扩展名的文件全部重新命名,具体脚本如下:
#!/bin/sh ##---------------------------------------------------------- ##--功能说明:重命名.log与.rar文件 ##--开发公司:XXX ##--作者:qys ##--时间:2019-01-02 ##--输入参数:无 ##--版本维护 ## 版本: 更新日期: 更改人: 更改说明: ## -------------------------------------------------------- ## v1.0 2019-01-02 qys 创建shell脚本 ##-------------------------------------------------------------- count=1 for ListLogFile in `find . -iname '*.log' -o -iname '*.rar' -type f` do new=Tmp_$count.${ListLogFile##*.} echo "重命名${ListLogFile}为${new}" mv "$ListLogFile" "$new" let count++ done
执行结果:
工作原理:
使用for循环迭代所有扩展名为.log、.rar文件,然后使用-iname选项不区分大小写进行匹配,-o表示或者的关系,此处为多个匹配条件,接着使用${ListLogFile##*.}提取扩展名,并且构造新的文件名,最后使用mv命令重命名。