タグ

Dateとshellscriptに関するishideoのブックマーク (2)

  • dateコマンドで○日前の日付を取得する - hogehoge foobar Blog Style Beta

    久しぶりに仕事でbashを書きました。 『date』コマンドで○日前/○日後の日付を取得する方法で、 少しだけハマッたので、覚書として書いておきます。 Linux系の場合 オプション"--date"で"○ day(s)"(○日前の場合は"ago"を付ける)を指定する。 $ date +"%Y%m%d" 20090609 $ date +"%Y%m%d" --date "1 day" 20090610 $ date +"%Y%m%d" --date "7 days" 20090616 $ date +"%Y%m%d" --date "1 day ago" 20090608 $ date +"%Y%m%d" --date "7 days ago" 20090602 BSD系の場合 オプション"-v"で"+○d"(○日前の場合は"-")を指定する。 $ date +"%Y%m%d" 200906

    dateコマンドで○日前の日付を取得する - hogehoge foobar Blog Style Beta
  • シェルスクリプトで一日前の日付を求める - すがブロ

    ログローテーションを行うときに、ファイル名を付けるにあたって、1日前の日付を求める必要があった。 主にこのサイトを参考にシェルスクリプトを組んでみた(http://www.toshikazu.org/archives/000087.html)。 しかし、どうも date コマンドの動作がおかしいようだ。 で、原因を探ってみると、 `date -v-1d +%Y%m%d` の -v-1d という部分が使用できていないようだ*1。 で、それではどうすれば良いか? ちょっと調べてみた。 方法としてはタイムゾーンを上手いこといじくる方法もあるみたいだったが、なんとなく面倒そうだったので他の方法を探してみると……あった。これはすごい。 date --date '1 day ago' とすると1日前の日付を表示してくれる。 だもんで、一番上のような状況ではこう書けば良いようだ。 `date --dat

    シェルスクリプトで一日前の日付を求める - すがブロ
  • 1