如何更改所有文件名中的编号?

时间:2015-06-02 21:55:07

标签: unix filenames

我有1000个文件,格式为framexxx.dat,例如

frame0.dat frame1.dat frame2.dat .... frame999.dat

我希望将这些文件的名称更改为

frame000.dat frame001.dat frame002.dat .... frame999.dat

无论如何使用简单的linux命令执行此操作?

另外,如果我的文件是framexx.dat或framexxxx.dat(xx是2位数字而xxxx是4位数字),那么我该如何更改代码呢?

1 个答案:

答案 0 :(得分:1)

你必须按小组处理它们:

  • 第0组:从frame100.datframe999.dat:这里无事可做。
  • 第1组:从frame10.datframe99.dat:添加一个0

    for i in {10..99}; do mv frame$f.dat frame0$f.dat; done
    
  • 第2组:从frame0.datframe9.dat:添加2 0

    for i in {0..9}; do mv frame$f.dat frame00$f.dat; done
    

一般指导原则是首先处理大数字(在某些情况下可能会出现一些并发症)

这可以扩展到更大的数字......你明白了。