您能告诉我如何在 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