如果我用来stat
显示 mtime,我会得到一个以毫秒为单位的日期:
$ stat -c '%y' test.log
2019-07-04 14:32:10.730059167 +0200
但是,如果我想显示纪元时间戳,我将不再获得毫秒:
$ stat -c '%Y' test.log
1562243530
我是否遗漏了某些内容,或者我必须将两个输出的内容修补在一起?
答案1
对于 GNU Coreutils 实现,您可以使用
stat --format='%.9Y' file
要不就
stat --format='%.Y' file
从info
文档中:
'%W'、'%X'、'%Y' 和 '%Z' 格式接受前面带有句点的精度,以指定小数点后要打印的位数。例如,“%.3X”将访问时间戳输出到毫秒精度。如果给出了句点但没有精度,则“stat”使用 9 位数字,因此“%.X”相当于“%.9X”。当丢弃多余的精度时,时间戳会被截断为负无穷大。