date コマンドを使用して前月を取得しようとしています。5 月 31 日に実行すると、5 月 1 日に返されます。4 月に何かを期待していました。これを行うより良い方法はありますか?
> date --version
date (GNU sh-utils) 2.0
Written by David MacKenzie.
Copyright (C) 1999 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> date
Fri May 31 13:29:08 EDT 2013
> date --date='last month'
Wed May 1 13:29:15 EDT 2013
@fvuからのコメントごとに、これを試しました:
> date --date='first day last month'
Thu May 2 14:00:43 EDT 2013
> date --date='first day next month'
Tue Jul 2 14:00:52 EDT 2013
これはうまくいきませんでした。これはしましたが:
>date --date='last day last month'
Tue Apr 30 14:06:28 EDT 2013
月の定義が必要だと思います