我需要根据参数中提供的日期查找文件。例如,我有这些文件:
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