※MACターミナル(BSD系)での動作確認です。
日付の生成にはgdateを使っています。
参考:MacのdateコマンドがLinuxと異なる挙動をしている→gdateを入れて解決できた

スポンサーリンク

seqコマンドをforループ処理して、gdateで日付をインクリメント

下記がサンプルコードになります。

gdateの-dオプションで、日付を指定します。
gdate -d “2017-01-01 $num days”とすることで、2017-01-01から$num日後という指定ができます。
forループ処理して、$numにインクリメントして値を代入していき、1日刻みで連番で日付を作成します。
今回は、seqコマンドで1〜10を生成して、forループ処理しています。
+%Y-%m-%dの部分は、出力フォーマットを指定しています。今回は、yyyy-mm-ddの形式を指定指定しています。

下記が実行結果になります。

スポンサーリンク

開始日時と終了日時を指定して、whileループ処理する

下記がサンプルコードになります。
whileループ処理を、指定した終了日時(サンプルコードでは指定した日時の前日まで処理する)まで行い、1日刻みで連番で日付を作成します。

日付のフォーマットを変えたい場合

下記がサンプルコードになります。
yyyy/mm/ddの形式を指定指定しています。

下記が実行結果になります。

スポンサーリンク