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

时间:2014-03-19 16:28:49

标签: linux terminal rename

在抓取(并自动命名)图像时,我在某个地方犯了一个错误,现在在文件夹中,他们被称为 ... 08.jpg,09.jpg,010.jpg ,11.jpg,12.jpg ...... 问题是010.jpg,它有一个领先的零。

是否有递归的终端命令(图像集都有自己的文件夹)将名为010.jpg的所有图像重命名为10.jpg?

2 个答案:

答案 0 :(得分:1)

我没有bash pro,但是应该这样做。

for i in /path/to/directory/*
do
    mv ${i}/010.jpg ${i}/10.jpg
done

答案 1 :(得分:0)

这可以帮助您在目标目录(/ tmp /)中找到您要查找的文件,它将从任何文件名中删除前导零,因此它比指定完全“移动到”更灵活一些名。

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