日付から日数を差し引く方法を見つけようとしています。現在の日付を設定するとしましょう
set $date
それから日を差し引いて、その期間の日付を取得するにはどうすればよいですか?
たとえば、27jul2012
5 を差し引くと次のようになります。22jul2012
date
たとえば、差を計算するために使用できます。
date -d "27jul2012 - 5 days" +%d%b%Y
最初に秒に変換し、5 日間の秒数を引いて、元に戻します。
date --date=@$(($(date --date='27 Jul 2012' +'%s') - $((5 * 24 * 3600)) )) +%x
少し短いバージョン:
date --date="@$(expr $(date +%s) - 432000)"
432000 は 5 日間の秒数です。
日付ユーティリティを使用して、日付を秒に変換できます。「 Bash スクリプトで 2 つの日付変数を比較する」を参照してください。
また、現在の日付からいくつかの異なる種類の加算と減算を実行することもできます。そこを見てください:http://linuxconfig.org/addition-and-subtraction-arithmetics-with-linux-date-command