问题:我需要找出今天的日期并搜索名称中包含今天日期的文件。还有另一个包含昨天日期的文件。我能够通过以下方式做到这一点:
TODAY=$(date +"%m%d%Y")
YESTERDAY=$(date --date="yesterday" +"%m%d%Y")
SNAPSHOT=SnapshotIR${YESTERDAY}\*.csv
for snapshotfile in $SNAPSHOT
do
if [ -f "$snapshotfile" ]
then
SNAPSHOTFOUND="$snapshotfile"
echo Snapshot Report $SNAPSHOTFOUND is available
但这里有一个条件,如果今天是星期一,我必须检查一个具有上周五日期的文件和另一个名称中具有星期六日期的文件,与今天和昨天不同。
任何人都可以建议。
答案1
find . -type f -name "*`date +%Y%m%d`*.*"
递归查找文件,输入 f 仅查找文件,而 name 仅查找与模式匹配的文件。使用反引号 `` 您可以添加内联日期。
使用 date +%u 你可以得到工作日数。如果是“1”则为星期一。
要检查上周五和周六的日期,请使用 --date
date --date="last Friday" +%Y%m%d
date --date="last Saturday" +%Y%m%d