如何按修改日期的顺序以数字方式批量重命名文件?

Kon*_*ask 7 command-line photo-management software-recommendation batch-rename

我有一些名字很随意的照片,但日期(不是 exif,而是上次编辑的时间)是正确的。我想按这个顺序重命名它们,最好是命名第一张照片1.jpg等等,但一切都会发生。

我怎样才能做到这一点?

hto*_*que 8

在包含图片的目录中,运行:

mkdir renamed; num=0; for f in $(ls -t); do cp -p "$f" renamed/IMG_$(printf "%03d" $num).jpg; num=$((num+1)); done
Run Code Online (Sandbox Code Playgroud)

这会将文件复制到新目录renamed,保持时间戳不变。格式将是IMG_###.jpg三位数字,使用前导零。您可以通过更改%03d部分来更改位数。