1

OpenBSDのtcshでは、2週間前の日付を印刷する必要があります。

たとえば、今日がの場合2013-03-02、私は2013-02-16印刷する必要があります。

4

2 に答える 2

0

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'
于 2013-03-03T06:37:02.567 に答える
0

これは動作するはずです (GNU date で動作します。私は OpenBSD にあまり詳しくありません。そのため、動作するかどうかはわかりません)。

date -d "now - 14 days" +%Y-%m-%d
于 2013-04-15T11:43:08.640 に答える