shell实现统计期内时间加1循环

##end=`date +%Y%m%d`
end=20130302
start='20121229'
echo "start:"$start",end:"$end
while [ $end -gt $start ] 
do
#newstart=`expr substr $start 1 4`-`expr substr $start 5 2`-`expr substr $start 7 2`
year=`expr substr $start 1 4`
month=`expr substr $start 5 2`
day=`expr substr $start 7 2`
echo $year-$month-$day
case $month in
            1|01|3|03|5|05|7|07|8|08|10|12) maxday=31;;
            4|04|6|06|9|09|11) maxday=30;;
            2|02)
                if [ `expr $year % 4` -eq 0 ]; then
                        if [ `expr $year % 400` -eq 0 ]; then
                                maxday=29
                        elif [ `expr $year % 100` -eq 0 ]; then
                                maxday=28
                        else
                                maxday=29
                        fi
                else
                        maxday=28
                fi;;
esac
if [ $day -eq $maxday ];then
       if [ $month -eq 12 ];then
           month=01
           day=01
           year=`expr $year + 1`
       elif [ $month -lt 12 ];then
        month=`expr $month + 1`
if [ $month -lt 10 ] ;then
month=0$month
fi
        day=01
       fi
else
day=`expr $day + 1`
if [ $day -lt 10 ] ;then
day=0$day
fi
fi
start=$year$month$day
done
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值