Вычислить разницу дат между последней измененной датой файла и СЕЙЧАС с использованием сценария оболочки

Я пытаюсь вычислить время, прошедшее с момента последнего обновления файла журнала.

Я предполагаю, что будут использованы следующие команды

  • Анализ паролей Apache для исключения диапазонов IP-адресов
  • Ошибки с командой git alias shell
  • Как я могу читать строки за строкой из переменной в bash?
  • Если утверждения в Array
  • IO и другие команды оболочки, когда программа не запускается терминалом
  • Как установить переменную
  • lastUpdate=$(date -r myLogFile.log) now=$(date) 

    Как я могу вычесть их и получить результат за несколько секунд?

  • Использование ссылки на строковую переменную bash в sed
  • Как извлечь только «базовое имя» родительского каталога в оболочке?
  • Как подсчитать значения, соответствующие определенному условию?
  • как вернуться к базовому скрипту из хвоста -f
  • Отображать интеграл в научной нотации?
  • Как читать пользовательский ввод строки за строкой до Ctrl + D и включать строку, в которой набирается Ctrl + D
  • 4 Solutions collect form web for “Вычислить разницу дат между последней измененной датой файла и СЕЙЧАС с использованием сценария оболочки”

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

    сравните два выхода, чтобы получить количество секунд между теперь и измененной датой

     stat -c %Y file vs date +%s 

    Ты почти там! Просто укажите date чтобы использовать формат, на котором вычисление легко.

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

    Один лайнер:

    stat -c% Y / путь / в / файл | echo `expr $ (date +% s) – $ (cat)`

    Linux и Unix - лучшая ОС в мире.