Shell 用for循环和while遍历日期

Shell执行任务时有时需要对hive表做遍历操作并按照dt进行分区,dt数较少时可以采用for循环,但有时需要对一个时间段内的日期进行遍历,这时候就可以使用while对日期进行遍历。

下面分别采用for循环和while循环对日期进行遍历:

For循环:

for i in {20190801,20190802,20190803}
do
    echo ${i}
done

While循环:

输入开始和结束日期 就可以实现遍历 记得在前后括号两边加上空格 否则会报错~

start_day=20190801
end_day=20190803
dt=$start_day
while [[ $dt < `date -d "+1 day $end_day" +%Y%m%d` ]]
do
    echo $dt
    dt=`date -d "+1 day $dt" +%Y%m%d`
done

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章