【发布时间】:2014-04-26 01:46:57
【问题描述】:
我在抓取(并自动命名)图像时犯了一个错误,现在在数百个文件夹中它们被称为 ...08.jpg、09.jpg、010.jpg、11.jpg , 12.jpg... 问题是 010.jpg,它有一个前导零。
是否有一个终端命令可以递归地(图像集都有自己的文件夹)重命名 所有 名为 010.jpg 到 10.jpg 的图像?
【问题讨论】:
我在抓取(并自动命名)图像时犯了一个错误,现在在数百个文件夹中它们被称为 ...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//'); }
【讨论】: