タイムスタンプの比較

タイムスタンプの比較

最近修正されたファイルのタイムスタンプを現在時刻と比較して差が2時間以上の場合は出力してみます。これはどのように達成できますか?

次のコマンドはファイルのタイムスタンプを表示し、現在の時刻と比較する必要があります。

root:/# aws s3 ls --endpoint=https://localhost s3://files/ | tail -n 1 |  awk {'print $1 " "  $2'}
2020-01-22 08:19:00

答え1

オペレーティングシステムを指定していませんが、GNUがあると仮定すると、date日付をタイムスタンプに変換してから簡単な計算を実行して、2時間前であることを確認できます。

datetime=$(
    aws s3 ls --endpoint=https://localhost s3://files/ |
    awk 'END {print $1, $2}'
)
timestamp=$(date --date "$datetime" +'%s')
timeAgo=$(date --date "2 hours ago" +'%s')

if [[ $timestamp -lt $timeAgo ]]
then
    echo "It's a really old file"
fi

関連情報