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

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