【问题标题】:calculate how long ago a file was modified计算文件多久以前被修改过
【发布时间】:2013-06-26 14:27:16
【问题描述】:

我需要一个脚本来计算文件多久以前被修改过。这可能是几天前或几分钟前。 我已经能够从 stat 命令获取修改日期和时间。我将这些数据存储在两个不同的变量中。 现在我需要用“现在”计算这个日期和时间之间的差异。 我可以找到很多获取两个日期或时间之间差异的示例。但是,如果我的时间可以追溯到一天以上。 前任。修改日期 2013-06-25 23:55:00 现在 2013-06-26 00:10:08 如果我计算这两者之间的差异,我需要 15 分 8 秒的答案。 有人可以帮帮我吗?

【问题讨论】:

    标签: unix date time


    【解决方案1】:

    Jens 的回答有效,这里有一个例子。

    #!/bin/bash
    
    MOD_TIME=`stat -c %Y thisfile.txt`
    RIGHTNOW=`date +%s`
    HOW_LONG=`expr $RIGHTNOW - $MOD_TIME`
    NUM_MINS=`expr $HOW_LONG / 60`
    NUM_SECS=`expr $HOW_LONG % 60`
    
    echo "$NUM_MINS minutes, $NUM_SECS seconds since modified."
    

    【讨论】:

      【解决方案2】:

      stat 给你以秒为单位的时间,然后减去这些值。如果需要分钟,除以 60,使用模 60 得到以秒为单位的余数。

      【讨论】:

      • 这就是解决方案。我想分两步做到这一点。首先使用 stat 获取修改时间和日期,然后我尝试将此日期设置为“自...以来的秒数”格式,但我失败了。非常感谢!
      猜你喜欢
      • 1970-01-01
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 2011-05-03
      相关资源
      最近更新 更多