0

嗨,我正在编写一个脚本,它将在他们的名字中搜索特定的日期模式并将它们复制到另一个位置。例如。在“w”目录中,我有名称中带有日期的文件

*20130822*
*20130823*
.
.
.
*20130828*

我想要的只是我可以给出开始日期,并希望脚本从该开始日期开始复制接下来 7 天的文件。你能建议我一个脚本来找到这些文件并复制到一个专用目录中吗?

#!/bin/bash

dt=`date +%Y%m%d`
echo $dt
dt_to_be_checked=`date +%Y%m%d --date='13 days ago'`
echo $dt_to_be_checked

if test $dt -eq $`date +%Y%m%d`
then
  find /cygdrive/w/ -mtime -13 -name "*$dt*" | xargs cp 
  "_$dt_to_be_checked_$dt_to_be_checked" /cygdrive/c/KPI/;
fi

请帮忙

4

1 回答 1

0

您尝试的内容似乎与您描述的问题完全不同。如果要在给定开始日期的情况下生成接下来 n 天的日期,请使用循环:

start="20130801"
for i in {1..7}; do 
  date +%Y%m%d --date="+${i} days ${start}"
done

执行上述位后,您将获得:

20130802
20130803
20130804
20130805
20130806
20130807
20130808
于 2013-09-04T10:55:32.610 回答