#!/bin/sh
d1=20111201
d2=20120625
time=$(($(date +%s -d ''$d2'') - $(date +%s -d ''$d1''))); #日期差
t=`expr $time / 86400` #相差天数
for ((i=0;i<=$t;i=i+1))
do
#echo $d1
perl xx.pl $d1
d1=`date -d ''$d1' UTC 86400 seconds' +"%Y%m%d"`
d1=20111201
d2=20120625
time=$(($(date +%s -d ''$d2'') - $(date +%s -d ''$d1''))); #日期差
t=`expr $time / 86400` #相差天数
for ((i=0;i<=$t;i=i+1))
do
#echo $d1
perl xx.pl $d1
d1=`date -d ''$d1' UTC 86400 seconds' +"%Y%m%d"`
done
说明:
d1=`date -d ''$d1' UTC 86400 seconds' +"%Y%m%d"`
以"%Y%m%d"的格式显示'$d1' UTC起后86400 seconds的日期,即d1后一天的日期。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~华丽丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
另一种方法:
startday="20120901"
datestr=""
for i in `seq 0 39` #时间段从"20120901-20121010"
do
datestat=`date -d "$startday +$i day" "+%Y%m%d"`
datestr+="/xxx/xxx/"${datestat}"/??/xxx.log."${datestat}"?? "
done
echo "$datestr"
period="20120901-20121010"
perl baikeLogStat.pl $period $datestr