Warm tip: This article is reproduced from serverfault.com, please click

bash-将文件夹中的文件重命名为序号

(bash - Renaming files in a folder to sequential numbers)

发布于 2010-07-09 10:06:06

我想将目录中的文件重命名为序号。基于文件的创建日期。

例如sadf.jpgto 0001.jpgwrjr3.jpgto0002.jpg等等,前导零的数量取决于文件的总数(如果不需要,则不需要额外的零)。

Questioner
Gnutt
Viewed
0
gauteh 2017-04-07 15:46:33

尝试使用循环letprintf进行填充:

a=1
for i in *.jpg; do
  new=$(printf "%04d.jpg" "$a") #04 pad to length of 4
  mv -i -- "$i" "$new"
  let a=a+1
done

使用该-i标志可防止自动覆盖现有文件。