ShellScript
Bash

シェルでよく使う日付の連番をワンライナーで

More than 1 year has passed since last update.

稀によくある作業で、
ファイルを連番で作ったりgrepしたりするときに必要になったので書いたもので既出ならすみません。
ネットで探してもforを使うのばっかりで使い辛かった。。。

環境は、Ubuntu 16.04 で試してます。

$ seq 0 5 | xargs -n1 -i date -d+{}days -I               
2017-11-05
2017-11-06
2017-11-07
2017-11-08
2017-11-09
2017-11-10

基準日やフォーマットを変えたいときはこれで!

seq 0 5 | xargs -n1 -i date -d2017/01/01+{}days +%Y%m%d
20170101
20170102
20170103
20170104
20170105

逆順や過去日も求められる

seq -1 -1 -5 | xargs -n1 -i date -d2017/01/01+{}days +%Y%m%d
20161231
20161230
20161229
20161228
20161227

実用編?

ファイル作ったり

seq 1 5 | xargs -n1 -i date -d2017/01/01+{}days +%Y%m%d | xargs -L1 touch

ログを日付毎にファイルに出力して、データを整理したり

seq 1 5 | xargs -n1 -i date -d2017/01/01+{}days +%Y%m%d | xargs -L1 -I@ awk '/@/{ print >> "src/@.log"}' sample.log

備考

BSD系ではオプションが違うという噂なので、
Linuxじゃない場合は少し違うかも