for文でグルグルまわして、3000日前から今日までの日付を出力しようと思います。

yyyymmddという形式で出そうとすると
for i in `echo {3000..0}`; do for d in `date +%Y%m%d --date=$i' day ago'`; do echo `echo $d`; done ; done
ですが、

yyyy/mm/ddという形式で出そうとすると
for i in `echo {3000..0}`; do for d in `date +%Y%m%d --date=$i' day ago'`; do echo `echo $d | cut -b 1-4`/`echo $d | cut -b 5-6`/`echo $d | cut -b 7-` ; done ; done
と、あまり美しくないばかりか、ちょっとサーバの負荷も気になります。

実際timeコマンドで計測してみると、前者は
real 1m3.268s
user 0m15.181s
sys 0m47.272s

後者は
real 0m17.505s
user 0m5.030s
sys 0m12.245s

です。これを、正規表現を使ってもっとスマートにできる方法はないでしょうか。
よろしくお願いいたします。