OpenBSDのtcshでは、2週間前の日付を印刷する必要があります。
たとえば、今日がの場合2013-03-02
、私は2013-02-16
印刷する必要があります。
tcsh
ネストされたコマンドを実行できるようには見えないため、ksh
使用する必要があるようです。
date +%Y-%m-%d ; \
sh -c 'date -r $(expr $(date +%s) - $(expr 60 \* 60 \* 24 \* 14)) +%Y-%m-%d'
2013-03-02
2013-02-16
UTCのエポックからの秒数で日付を取得し、で2週間を秒で計算しexpr
、減算して、これらの秒を引数で返しdate
ます-r
。
1209600
の代わりに使用する以外に、より短い解決策があるかどうかわからない$(expr 60 \* 60 \* 24 \* 14)
:
sh -c 'date -r $(expr $(date +%s) - 1209600) +%Y-%m-%d'
これは動作するはずです (GNU date で動作します。私は OpenBSD にあまり詳しくありません。そのため、動作するかどうかはわかりません)。
date -d "now - 14 days" +%Y-%m-%d