シェルスクリプトで、今月のログファイル、recentlog.csvを月が変わった際に、「前月のログ」.csvという形にしようとしています。(cron.monthlyで動かす)


mv recentlog.csv `date +'%Y%m'.csv`

とかやってみたのですが、これだと、「前月」ではなく「当月」になってしまいます。
これを、「前月」にするにはどうすればよいのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2007/07/06 10:15:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント60pt

Manpage of DATE

date コマンドのバージョンにもよるけど、

mv recentlog.csv `date --date '1 month ago' +'%Y%m'.csv`

かな。

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 iwaim 215 191 19 2007-07-05 16:56:33
  • id:iwaim
    > date コマンドのバージョンにもよるけど、

    --dateはGNU dateの拡張なので、バージョンじゃなくてプロダクトに因ります。
    # 古いGNU dateはしらんけどさ。

    例えば、FreeBSDなどの場合はそれだとダメです。-v-1mですかね。
  • id:b-wind
    > バージョンじゃなくてプロダクトに因ります。
    確かにそうですね。
    同じ名前のコマンドでも中身は別物。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません