date コマンドの -d オプションでは date -d '1 week ago'
のような形式で現在日時から x単位前の日時を指定できます。
ふと "1ヶ月と1日前" が欲しくなったのでこうしたら…
% date -d '1 month 1 day ago'
Thu Feb 7 09:18:24 JST 2013
…軽くタイムスリップしてしまい、何が何やら。 叩いたのは今日、2013/1/8 なので、これは "1ヶ月後の1日前" の日付。
"1ヶ月と1日前" のように単位を複数指定する場合は ago を重ねないといけない様子。なんと言うか...人間の目には中途半端でキモい。また無意識にやらかしそうで怖い。
date -d '1 month ago 1 day ago'
結論: 変に気取った書き方しないで +/- 使っとけってことですな
date -d '-1 month -1 day'