【问题标题】:How can I change numbering in all of the file names?如何更改所有文件名中的编号?
【发布时间】:2015-08-16 21:47:18
【问题描述】:

我有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 位数字),那么我该如何更改代码来做同样的事情?

【问题讨论】:

    标签: unix filenames


    【解决方案1】:

    您必须按组处理它们:

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

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

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

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

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

    【讨论】:

    • 谢谢~!这个效果很好~!它比我预期的要简单。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 2016-06-20
    • 1970-01-01
    相关资源
    最近更新 更多