Unix Shell中如何用date -I检查含当日日期的指定文件是否存在
解决方法:用
date -I自动替换日期检查文件 你可以通过命令替换的方式,把date -I的输出直接嵌入到原命令里,这样就能自动获取当日的YYYY-MM-DD格式日期了。
具体命令如下(推荐用现代的$()语法,可读性更强):
test -f "/test/import_doku.$(date -I).log" && echo "OK"
如果你习惯用传统的反引号语法,也可以这样写:
test -f "/test/import_doku.`date -I`.log" && echo "OK"
为什么这样可行?
date -I命令默认输出的就是YYYY-MM-DD格式的ISO标准日期,正好匹配你需要的格式;$(date -I)会先执行date -I获取当日日期,再把结果替换到命令中,最终拼接成完整的文件路径。
扩展小技巧
如果之后需要检查前一天的日志文件,只需要给date加一个日期参数即可:
test -f "/test/import_doku.$(date -I -d "yesterday").log" && echo "OK"
内容的提问来源于stack exchange,提问作者Igor Kuznetsov
相关产品推荐
相关产品推荐

