シェルスクリプトで開始日から終了日までの日付をYYYYMMDD形式で一覧出力する

Bash

今日は小ネタ。
何度か記述することがあったので、整理しました。

検証環境

$ bash -version | head -n 1
GNU bash, バージョン 5.0.7(1)-release (x86_64-apple-darwin18.5.0)

コマンド

START_DATE には 「YYYYMMDD」 形式で開始日を、
END_DATE には 「YYYYMMDD」 形式で終了日を指定します。

START_DATE=20190125
END_DATE=20190201

for ((D = START_DATE; D <= END_DATE; D = $(date -d "${D} + 1days" +%Y%m%d))); do
  echo "${D}"
done

上記の環境変数設定で実行した結果は以下の通り。

20190125
20190126
20190127
20190128
20190129
20190130
20190131
20190201

ひとこと

ホント小ネタ。

Bash