gpt4 book ai didi

linux - 使用 Bash 获取特定文件的 mtime?

转载 作者:行者123 更新时间:2023-11-29 08:42:32 25 4
gpt4 key购买 nike

我很清楚能够执行 find myfile.txt -mtime +5 来检查我的文件是否超过 5 天。但是我想在 myfile.txt 的天数中获取 mtime 并将其存储到变量中以供进一步使用。我该怎么做?

最佳答案

stat 可以为您提供该信息:

filemtime=$(stat -c %Y myfile.txt)

%Y 为您提供了“自大纪元以来的秒数”的最后修改,但还有很多其他选项; more info .因此,如果文件在格林威治标准时间 2011 年 1 月 22 日 15:30 被修改,上面的代码将返回 1295710237 范围内的数字。

编辑:啊,你要的是修改后的天数。这将变得更加复杂,尤其是因为“天”不是固定的时间段(一些“天”只有 23 小时,其他的 25 小时——这要归功于夏令时)。

naive 版本可能如下所示:

filemtime=$(stat -c %Y "$1")
currtime=$(date +%s)
diff=$(( (currtime - filemtime) / 86400 ))
echo $diff

...但同样,这是假设一天的长度始终恰好为 86,400 秒。

更多关于 bash 中的算术 here .

关于linux - 使用 Bash 获取特定文件的 mtime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4774358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com