批量重命名具有特定名称的所有文件

问题描述:

我在拼图(并自动命名)图像时犯了一个错误,现在它们被称为... 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 
+1

这样做的伎俩,谢谢! –

这可以帮助你找到你的目标目录中查找的文件(/ tmp目录/),它会从任何文件名称中删除前导零,所以这是一个更灵活一点不是指定到全“移至”名称。

for i in $(find /tmp/ -name 010.jpg) ; { mv $i $(dirname $i)/$(basename $i | sed 's/^0//'); } 
+0

我从来没有使用过bash,因为第一个答案对我来说有点“可读性”,所以我使用了那个。这也是一次性问题,所以现在就解决了。但是,无论如何感谢:) –