shell中日期循環的方式
阿新 • • 發佈:2017-11-22
方式 markdown nds ren class sta bin one ear
第一種
# 這裏的例子以周為循環
!/bin/bash
begin_date="20160907"
end_date="20170226"
while [ "$begin_date" -le "$end_date" ];
do
year=${begin_date:0:4}
week_of_year=$(date -d "$begin_date" +%W)
echo $year, $week_of_year
begin_date=$(date -d "${begin_date}+7days" +%Y%m%d)
done
第二種
# 這裏的例子每天作為循環,並展示當天的前一天 #!/bin/bash startDate=20160201 endDate=20160328 startSec=`date -d "$startDate" "+%s"` endSec=`date -d "$endDate" "+%s"` for((i=$startSec;i<=$endSec;i+=86400)) do current_day=`date -d "@$i" "+%Y%m%d"` one_day_ago=`date -d "$current_day yesterday" +%Y%m%d` echo "current_day:${current_day}, yesterday:${one_day_ago}" done
shell中日期循環的方式