您好我正在编写一个脚本,该脚本将在其名称中搜索特定日期模式并将其复制到另一个位置。 例如。在“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
请帮忙
答案 0 :(得分: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