Date

根據傳入參數的日期查找文件

  • July 1, 2020

我需要根據參數中提供的日期查找次日文件。

例如,我有這些文件:

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嗎?

你很親密。刪除括號,它應該可以工作:

$ 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

引用自:https://unix.stackexchange.com/questions/596172