我想重命名很多文件(一些jpg和很多png文件),我需要它们在每个文件夹上按顺序编号,结构如下:
.../folder01
file.png
file.jpg
.../folder02
file.png
file.png
..........
.../folder05
file.png
file.png
我想要这样写:
.../folder01
0001.jpg
0002.png
.../folder02
0003.png
0004.png
..........
.../folder05
0012.png
0013.png
如何使用bash创建它?
有一种方法:
find . ( -name '*.jpg' -o -name '*.png' ) -print | (i=0; while read f; do
let i+=1; mv "$f" "${f%/*}/$(printf %04d "$i").${f##*.}";
done)
下面是使用StringSolver自动工具的另一种方法:
mv folder01/file.jpg folder01/0001.jpg
mv folder01/file.png folder01/0002.png
mv
第二个示例是必需的,否则它将考虑使用文件夹名称中的数字重命名所有文件。最后两行也可以缩写为一行,它执行这些动作并立即概括它:
mv -a folder01/file.png folder01/0002.png
免责声明:我是出于学术目的而撰写这篇文章的作者之一,正在开发一个bash脚本渲染器。但是你已经可以测试系统了