根据参数中提到的日期查找文件

根据参数中提到的日期查找文件

我需要根据参数中提供的日期查找文件。例如,我有这些文件:

XYZ.ABC.M.20200615180200.batch
XYZ.ABC.M.20200616180200.batch
XYZ.ABC.M.20200617180200.batch

XYZ.ABC.M.20200615180200.batch我想要文件名中带有日期的文件20200615,并且参数值提供的日期格式是2020-06-15。我试过

date -d 2020-06-15 +%Y%m%d | xargs -I{} ls  XYZ.ABC.M.{}180200.batch

它工作正常,但我不习惯对180200命令中的值进行硬编码。

date -d 2020-06-15 +%Y%m%d | xargs -I{} ls  XYZ.ABC.M.{}*.batch

没有按预期工作。

答案1

您可以直接将命令嵌入到您要查找的字符串中。请记住不要引用星号。它需要不加引号才能用于通配。

ls "XYZ.ABC.M.$(date -d 2020-06-15 +%Y%m%d)"*.batch

相关内容