Bash

比較時間戳

  • January 24, 2020

我正在嘗試將最新修改文件的時間戳與目前時間進行比較,如果差異超過兩個小時,我將嘗試將其列印出來。如何才能做到這一點?

以下命令顯示文件的時間戳,必須與目前時間進行比較。

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

您尚未指定您的作業系統,但假設您有 GNU date,您可以將日期轉換為時間戳,然後執行簡單的計算以確定它是否早於兩小時前:

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

引用自:https://unix.stackexchange.com/questions/563375