web-dev-qa-db-ja.com

Unixシェルスクリプトからエポックの現在の日付を取得する

エポックの現在の日付値、つまり1970-1-1以降に経過した日数を取得する方法。 UNIX Shellスクリプトで解決策が必要です。

60
Krishna

Update:OPが_date +'%s'_がそうしなかったことを示したという理由だけで、以前ここに投稿された回答は使用できなくなったカスタムスクリプトにリンクしていました彼のために働きます。 properソリューションについては、 UberAlexの回答 および cadrianの回答 を参照してください。要するに:

  1. Unixエポックでは date(1) を次のように使用しているため、secondsの数に対して:

    _date +'%s'
    _
  2. daysの数については、Unixエポックは結果を1日の秒数で除算するため(二重括弧に注意してください)。

    _echo $(($(date +%s) / 60 / 60 / 24))
    _
45
Stephan202

Unix Dateコマンドはエポック時間で表示されます

コマンドは

date +"%s"

http://unixhelp.ed.ac.uk/CGI/man-cgi?date

編集:何日かあなたが尋ねたのを見た人がいるので、それはそのコマンドを86,400で割った結果です

137
UberAlex
echo $(($(date +%s) / 60 / 60 / 24))
11
cadrian
echo `date +%s`/86400 | bc
2
Chris Doggett