【问题标题】:Batch renaming of files with a modified timestamp on Linux在 Linux 上批量重命名带有修改的时间戳的文件
【发布时间】:2015-02-04 05:33:17
【问题描述】:

作为个人项目的一部分,我生成了大量帧。

我想在终端中重命名大约 6000 个 png 图像文件,以便在名称中它们具有框架所代表的时间。

例如

Frame_0001.png 到 Frame_DDMMYY_HHMMSS.png

Frame_0001.png 到 Frame_201114_134612.png Frame_0002.png 到 Frame_201114_134613.png 等等……

第一帧从 2014 年 11 月 20 日 13:46:12 开始。我希望将其余图像按顺序重命名,以便它们都以它们所代表的日期和时间命名。

非常感谢任何帮助。

【问题讨论】:

    标签: linux terminal timestamp rename batch-processing


    【解决方案1】:

    使用 perl 的 (p) 重命名:

    rename -n "s/\d+/$(date +%d%m%Y_%H%M%S)/" Frame_0001.png
    

    【讨论】:

      【解决方案2】:

      我理解你的描述的方式是,每一帧代表一个连续序列的一秒。

      start='13:46:12 20 November 2014'
      for i in `ls Frame_????.png|sed 's/Frame_\(....\).png/\1/'`
      do  time=`date -d "$start - 1 second + $i seconds" +%d%m%y_%H%M%S`
          mv Frame_$i.png Frame_$time.png
      done
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-06
        • 2014-11-08
        • 2013-12-16
        • 2017-12-08
        • 2015-02-07
        • 2021-06-17
        • 2014-12-17
        • 2016-04-09
        相关资源
        最近更新 更多