Batch処理 Dateコマンドで年月を求める際の注意点
Dateコマンドで先月を求めるときは、注意
こうやって書いてはいけない
date -d"${ymd} 1 month ago" +"%Y%m"
月末にきちんと動作しないため
# NGなケース ymd=20140329 date -d"${ymd} 1 month ago" +"%Y%m" 201403 # 28までは必ず先月中に日付があるので問題ない ymd=20140328 date -d"${ymd} 1 month ago" +"%Y%m" 201402
dateコマンドでやるなら、1日から1月前にしてあげるのが無難
ymd=20140329 date -d"${ymd:0:6}01 1 month ago" +"%Y%m" 201402