批量重命名具有特定名称的所有文件
问题描述:
我在拼图(并自动命名)图像时犯了一个错误,现在它们被称为... 08.jpg,09.jpg,010 .jpg,11.jpg,12.jpg ...问题是010.jpg,得到了一个前导零。批量重命名具有特定名称的所有文件
是否有一个递归的终端命令(图像集都有自己的文件夹)重命名全部图像称为010.jpg为10.jpg?
答
我不是bash亲,但这应该做到这一点。
for i in /path/to/directory/*
do
mv ${i}/010.jpg ${i}/10.jpg
done
答
这可以帮助你找到你的目标目录中查找的文件(/ tmp目录/),它会从任何文件名称中删除前导零,所以这是一个更灵活一点不是指定到全“移至”名称。
for i in $(find /tmp/ -name 010.jpg) ; { mv $i $(dirname $i)/$(basename $i | sed 's/^0//'); }
+0
我从来没有使用过bash,因为第一个答案对我来说有点“可读性”,所以我使用了那个。这也是一次性问题,所以现在就解决了。但是,无论如何感谢:) –
这样做的伎俩,谢谢! –