我需要根据参数中提供的日期查找第二天的文件。
例如,我有这些文件:
XYZ.ABC.M.20200615180200.batch
XYZ.ABC.M.20200616180200.batch
XYZ.ABC.M.20200617180200.batch
如果参数中提供的日期是20200614
,那么它应该返回文件XYZ.ABC.M.20200615180200.batch
;参数值提供的日期格式为2020-06-14
。
我尝试过类似的方法date +%Y%m%d -d "(2020-06-24)+1 days"
,但它采用的是今天的日期而不是20200615
.XYZ.ABC.M.20200615180200.batch
如果输入日期是,有人可以分享查找文件的完整命令2020-06-14
吗?
答案1
你们非常接近。删除括号,它应该可以工作:
$ date +%Y%m%d -d "(2020-06-24)+1 days"
20200702
$ date +%Y%m%d -d "2020-06-24 +1 days"
20200625
或者,更具体地说
dt=20200614; # or 2020-06-14, either way works
file=$(date +"XYZ.ABC.M.%Y%m%d180200.batch" -d "$dt + 1 days");
echo $file;
XYZ.ABC.M.20200615180200.batch