dateコマンドで日付の計算処理するテクニック
dateコマンドはOSによって方言があってオプションをいつも忘れて毎回調べたりしてるので
メモがわりに書いておりきます。
1日前をもとめたいときは?
BSD系% date -v-1d
Linux系
% date --date '1 days ago'
1日前をもとめつつフォーマットを整えたいときは?
BSD系% date -v-1d +%Y%m%d
Linux系
% date --date '1 days ago' +%Y%m%d
ある指定した日の1日前とかを求める方法。
BSD系% date -j -v-1d -f %Y%m%d 20081201 +%Y%m%d
※この「-j」を付け忘れるとシステムの時間が変わっちゃうので注意
Linux系
% date --date '20081201 1days ago'
とこんな感じ。
関連エントリ:
crontabで月末に実行させたし