shell遍历一个日期范围

来源:互联网 发布:淘宝上架后用不用管了 编辑:程序博客网 时间:2024/05/21 08:39

如果跟shell脚本打交道,遍历一个时间范围是很常见的事情,那么今天就跟大家分享一下:

#!/usr/bin/env bashdate1="$1"date2="$2"echo "date1: $date1"echo "date2: $date2"tempdate=`date -d "-0 day $date1" +%F`enddate=`date -d "-0 day $date2" +%F`tempdateSec=`date -d "-0 day $date1" +%s`enddateSec=`date -d "-0 day $date2" +%s`echo "####################################"echo 'tempdate: '$tempdateecho 'enddate: '$enddate#for i in `seq 1 130`; dofor i in `seq 1 300`; do  if [[ $tempdateSec -lt $enddateSec ]]; then    break  fi  echo $tempdate  python pc_jibzhuanti_url.py $tempdate  tempdate=`date -d "-$i day $date1" +%F`  tempdateSec=`date -d "-$i day $date1" +%s`done

这是一个倒序输出时间的脚本,需要输入两个时间参数,一个是开始时间,一个是结束时间,如输入:

./pc_jibzhuanti_url_run.sh 2014-06-30 2014-06-01

输出的结果是:

date1: 2014-06-30
date2: 2014-06-01
####################################
tempdate: 2014-06-30
enddate: 2014-06-01
2014-06-30
2014-06-29
2014-06-28
2014-06-27
2014-06-26
2014-06-25
2014-06-24
2014-06-23
2014-06-22
2014-06-21
2014-06-20
2014-06-19
2014-06-18
2014-06-17
2014-06-16
2014-06-15
2014-06-14
2014-06-13
2014-06-12
2014-06-11
2014-06-10
2014-06-09
2014-06-08
2014-06-07
2014-06-06
2014-06-05
2014-06-04
2014-06-03
2014-06-02
2014-06-01


ok,搞定!!!!

0 0