bash shell script로 시작날짜와 끝날짜의 목록으로 날짜목록을 만드는 코드입니다.
여러 날짜에 대해서 일별로 일괄처리를 할 때 자주 쓰는 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 |
#!/usr/bin/env bash begin_date="20210101" end_date="20210201" date_delta_days=$(( ($(date --date="$end_date" +%s) - $(date --date="$begin_date" +%s) )/(60*60*24) )) for (( i=0; i<=date_delta_days; i++ )); do date_str=$(date --date="$begin_date +$i days" +%Y%m%d) echo "$date_str" done |
결과
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
20210101 20210102 20210103 20210104 20210105 20210106 20210107 20210108 20210109 20210110 20210111 20210112 20210113 20210114 20210115 20210116 20210117 20210118 20210119 20210120 20210121 20210122 20210123 20210124 20210125 20210126 20210127 20210128 20210129 20210130 20210131 20210201 |