gpt4 book ai didi

unix - 在shell脚本中确定文件的年龄

转载 作者:行者123 更新时间:2023-12-04 02:35:42 27 4
gpt4 key购买 nike

G'day,

我需要从 sh shell 脚本中查看特定文件是否超过 58 分钟。我说的是带有一些 POSIX 扩展的普通 Solaris shell。

我想过做一个

touch -t YYYYMMDDHHmm.SS /var/tmp/toto

时间戳是 58 分钟前,然后执行
find ./logs_dir \! -newer /var/tmp/toto -print

我们需要对使用镜像从各种服务器检索到的一些日志文件进行后处理。等待文件稳定是该团队决定镜像是否完成的方式,因此当天的日志现在已经完成并准备好进行处理。

感谢您收到任何建议。

干杯,

最佳答案

我需要一些东西来测试特定文件的年龄,不要经常重新下载。所以使用 GNU datebash :

# if file's modtime hour is less than current hour:
[[ $(date +%k -r GPW/mstall.zip) -lt $(date +%k) ]] && \
wget -S -N \
http://bossa.pl/pub/metastock/mstock/mstall.zip \

更新——这个版本对我来说效果更好,而且更准确易懂:
[[ $(date +%s -r mstall.zip) -lt $(date +%s --date="77 min ago") ]] && echo File is older than 1hr 17min

BSD 变体(在 Mac 上测试)是:
[[ $(stat -f "%m" mstall.zip) -lt $(date -j -v-77M +%s) ]] && echo File is older than 1hr 17min

关于unix - 在shell脚本中确定文件的年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/969407/

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