如何在 OSX 上使用 JavaScript、Perl 或 shell 用创建日期的时间戳重命名文件名?

如何在 OSX 上使用 JavaScript、Perl 或 shell 用创建日期的时间戳重命名文件名?

您能告诉我如何在 OSX 10.9.2 上使用 JavaScript、Perl 或 shell 获取文件创建日期的时间戳并使用它重命名文件名吗?

例子:

现有:Untitled.txt 时间戳为 2014/05/03 01:01:01

新:%prefix%_Untitled_20140503_0101.txt(无需秒数)

原因:

我遇到了一个奇怪的问题,时间戳经常被微波/V2K 技术改变。但我必须知道它是什么时候创建的。因为这些都是事情的证据。请帮忙。

答案1

获取文件使用命令的创建时间stat。输出将以秒为单位(自 unix 纪元以来)。

  • -n选项会抑制输出末尾的换行符。
  • -f允许使用“printf”格式。%B是文件的创建或“出生”日期。

    D=$(stat -nf'%B' your_file)
    

然后使用 date-r选项以秒为单位输入日期。a+%Y...参数指定日期格式。

   DF=$(date -r $D '+%Y%m%d_%H%M')

Bash 脚本将会像这样:

 export PREFIX="your_prefix"
 D=$(stat -nf'%B' your_file)            # seconds since creation time of file
 DF=$(date -r $D '+%Y%m%d_%H%M')             # formatted creation date/time
 mv your_file "${PREFIX}_your_file_${DF}.txt"  # rename the file

相关内容