web-dev-qa-db-ja.com

シェルスクリプトを使用して、ファイルの最終変更日とNOWの間の日付差を計算する

ログファイルが最後に更新されてからの経過時間を計算しようとしています。

次のコマンドが使用されると思います

lastUpdate=$(date -r myLogFile.log)
now=$(date)

それらを差し引いて、経過秒数の結果を取得するにはどうすればよいですか?

5
Tarik Setia
lastUpdate="$(stat -c %Y myLogFile.log)"
now="$(date +%s)"
let diff="${now}-${lastUpdate}"
3
WarzauWynn

2つの出力を比較して、現在から更新日までの秒数を取得します

stat -c %Y file  vs date +%s
1
VaTo

一発ギャグ:

stat -c%Y/path/to/file |エコー `expr $(date +%s)-$(cat)`

1
Joseph Persie

あと少しです!計算が簡単な形式を使用するようにdateに指示するだけです。

lastUpdate=$(date -r myLogFile.log +%s)
now=$(date +%s)
file_age=$((now - lastUpdate))