如何确定文件在过去x秒内是否被修改

如何确定文件在过去x秒内是否被修改

我想确定在 MacOS 或 Debian 等上最近 x 秒内是否修改了文件。

is_file_older_than() {

  seconds="$1"
  file="$2"

  echo "The file $file"

  modified_secs="$(date -r "$file" +%s)"
  current_secs="$(date +%s)"

  diff="$(expr "$current_secs" - "$modified_secs")"

  if [[ "$diff" -gt "$seconds" ]]; then
    return 0
  fi

  return 1    
}

if is_file_older_than 3 "$BASH_SOURCE"; then
  echo 'old'
else
  echo 'young'
fi

但我很难验证它是否 100% 工作,以及是否有任何不可靠的地方 - 看起来它正在工作

相关内容