首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将文件夹中的文件重命名为序列号

将文件夹中的文件重命名为序列号
EN

Stack Overflow用户
提问于 2010-07-09 18:06:06
回答 17查看 284.4K关注 1票数 276

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

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

EN

回答 17

Stack Overflow用户

回答已采纳

发布于 2010-07-09 18:18:16

尝试使用循环、letprintf作为填充:

代码语言:javascript
复制
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标志可防止自动覆盖现有文件,使用--可防止mv将带有破折号的文件名解释为选项。

票数 370
EN

Stack Overflow用户

发布于 2015-12-08 18:20:09

一句话中的美:

代码语言:javascript
复制
ls -v | cat -n | while read n f; do mv -n "$f" "$n.ext"; done 

您可以使用.png.jpg等更改.ext

票数 356
EN

Stack Overflow用户

发布于 2016-06-15 13:17:49

一个非常简单的bash one liner,它保留了原来的扩展名,添加了前导零,并且也可以在OSX中工作:

代码语言:javascript
复制
num=0; for i in *; do mv "$i" "$(printf '%04d' $num).${i#*.}"; ((num++)); done

http://ubuntuforums.org/showthread.php?t=1355021的简化版本

票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3211595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档