パラメータに記載されている日付に基づいてファイルを検索する

パラメータに記載されている日付に基づいてファイルを検索する

パラメーターに指定された日付に基づいてファイルを見つける必要があります。たとえば、次のようなファイルがあります。

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

関連情報