공부

[Sh] date loop

승가비 2020. 4. 17. 06:05
728x90
# MacOSX
START=20200101
END=20201231

if [[ "$OSTYPE" == "darwin"* ]]; then
  startDate=$(date -jf "%Y%m%d" ${START} +"%Y%m%d")
  endDate=$(date -jf "%Y%m%d" ${END} +"%Y%m%d")
else
  startDate=$(date --date=${START} +"%Y%m%d")
  endDate=$(date --date=${END} +"%Y%m%d")
fi

while true; do
  d=$startDate

  echo "$d"
  [ "$startDate" != "$endDate" ] || break

if [[ "$OSTYPE" == "darwin"* ]]; then
    startDate=$(date -jf "%Y%m%d" $(date -r $(( $(date -jf "%Y%m%d" $startDate '+%s') + 86400 )) +"%Y%m%d") +"%Y%m%d")
  else
    startDate=$(date -d "$startDate 1 day" +"%Y%m%d")
  fi
done

 

728x90