GNU coreutils stat 工具是否已更改?

GNU coreutils stat 工具是否已更改?

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

答案1

stat:以全分辨率打印时间戳致力于 coreutils-8.6。

$ git 克隆 git://git.savannah.gnu.org/coreutils.git
$ cd coreutils
$ git log -1 --grep=时间 -- src/stat.c
提交 9069af45e691d1252c727da66aa4f3f3c7f1ea29
作者:Eric Blake
日期: 2010 年 9 月 30 日星期四 16:42:13 -0600

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

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

答案2

这是不必要的破坏,并被恢复为coreutils8.7
从那时起,您需要指定%.Yetc 来获取小数部分

相关内容