2

我想重命名很多文件(一些 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 制作它?

4

2 回答 2

2

这是一种方法:

find . \( -name '*.jpg' -o -name '*.png' \) -print  | (i=0; while read f; do 
    let i+=1; mv "$f" "${f%/*}/$(printf %04d "$i").${f##*.}"; 
done)
于 2013-01-08T21:27:49.107 回答
0

这是使用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 脚本渲染器。但是您已经可以测试系统了。

于 2014-01-27T15:12:35.817 回答