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

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

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

lastUpdate=$(date -r myLogFile.log) now=$(date) 

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

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)`

  • Как удалить старые резервные копии на основе даты в имени файла?
  • Создание текстового файла из других текстовых файлов
  • Рекурсивно удалять файлы с idx> 10000
  • Как завершить скрипт, представленный «at», начать новые процессы?
  • Удаление подстрок из переменной оболочки
  • ./executable: невозможно выполнить двоичный файл
  • проанализировать учетные данные из файла конфигурации PHP
  • Найти и заменить с помощью sed с помощью подстановочных знаков при поиске и замене
  • Попытка отправить несколько текстовых вложений через почтовое сообщение
  • ожидать сценария для получения вывода для нескольких серверов
  • Как вводить нажатия клавиш через скрипт оболочки?
  • сценарий оболочки для подключения внешнего устройства к точке подключения
  • Linux и Unix - лучшая ОС в мире.