GNU coreutils stat 工具改变了吗?

fra*_*ous 3 gnu coreutils stat

GNU coreutils (8.6) 版本有stat变化吗?在最近的更新之后,我写的一些脚本调用 stat 没有按预期工作;特别是,我一直在使用stat -c %Y "${filename}". 这应该以自“Epoch”以来的秒数形式返回上次修改的时间。但是,我可以发誓这曾经采用整数的形式。但是,我现在从这个表单1287630625.956667227而不是1287630625. 由于 Bash 不能处理浮点运算,这有点烦人。这是故意改变吗?还是bug?还是我的记忆模糊了?我尝试搜索有关此的信息,但找不到任何内容。

eph*_*ent 10

stat:以完整分辨率打印时间戳已提交给 coreutils-8.6。

$ git clone git://git.savannah.gnu.org/coreutils.git
$ cd coreutils
$ git log -1 --grep=time -- src/stat.c
提交 9069af45e691d1252c727da66aa4f3f3c7f1ea29
作者:埃里克·布莱克 
日期:2010 年 9 月 30 日星期四 16:42:13 -0600

    stat:以全分辨率打印时间戳

    * src/stat.c (epoch_time): 新功能。
    (print_stat):用于 %[WXYZ]。
    * 新闻:记录这一点。
    * 测试/触摸/60 秒:调整测试以匹配。
    * 测试/杂项/统计出生时间:同样。
$ git describe --contains 9069af4
v8.6~29


Pád*_*ady 5

这是不必要的破坏性,并被恢复coreutils8.7.
从那时起,您需要指定%.Yetc 以包含小数部分