背景
目前服役的一些图片资源要同步出来上传到新的环境上,所有图片为了避免重名无法上传,都在图片后面加上了上传时的时间戳,现在导出的图片,需要保存原本的名字。百度找了一下,没有找到现成的脚本,就随便自己写了一个,定位是【能用】。
脚本代码
脚本名称:batchRename.sh
#! /bin/bash
# 遍历当前目录下的所有带 【.png】 结尾的文件
for filename in `ls *.png`
do
# 打印一下日志
echo $filename rename to ${filename%x*}x.png
# ${filename%x*} 是找出最后一个以x结尾的左边全部字符,不含x。这里需要去除后面的时间戳,所以补回来x与文件后缀名
mv $filename ${filename%x*}x.png
done
echo '========= end ==========='
使用方式
可直接在linux环境下执行./batchRename.sh,若提示不是可执行文件则执行chmod +x
命令;
或者在windows环境下打开git bash直接执行./batchRename.sh
不足与改进
这个脚本只能用于修改当前目录下的文件,不能作用于子目录,若遇到目录比较多的情况,并不好用。若有大佬改进或有其它优质脚本,记得分享我一下,我不想努力了