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

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

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

  • Как объединить и суммировать поля на основе 2 столбцов
  • разница между "function foo () {}" и "foo () {}"
  • Запуск локального скрипта с локальным файлом ввода на удаленном хосте
  • Какой интерпретатор оболочки запускает скрипт без shebang?
  • tar и if-statement
  • Почему mail-utils / cron отправляет так много писем?
  • lastUpdate=$(date -r myLogFile.log) now=$(date) 

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

  • bash while / read loop ведет себя по-разному в виртуальной машине на основе mips / musl / busybox
  • shell - использование expr "таблицы умножения"
  • bash добавляет апострофы к расширенной переменной
  • Помогите разобрать эту команду `find`
  • Список файлов с меткой времени с эпохи
  • Как узнать, поддерживает ли bash библиотеку readline?
  • 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 - лучшая ОС в мире.