Мне нужен скрипт, который вычисляет, как давно файл был изменен. Это могут быть дни назад или всего несколько минут назад. Я уже смог получить дату и время изменения из команды stat. Я сохранил эти данные в двух разных переменных. Теперь мне нужно рассчитать разницу между этой датой и временем с «сейчас». Я могу найти множество примеров получения разницы между двумя датами или временем. Но что, если мое время вернется больше, чем через день. ex. modif дата 2013-06-25 23:55:00 сейчас 2013-06-26 00:10:08 Если я рассчитываю разницу между этими двумя, мне нужен ответ 15 минут и 8 секунд. Может ли кто-нибудь мне помочь?вычислить, как давно файл был изменен
0
A
ответ
0
Сделайте stat
дайте вам время в секундах, а затем вычтите значения. Разделите на 60, если вы хотите минут, используйте modulo 60, чтобы получить остаток за секунды.
1
Ответы Йенса на работу, вот пример.
#!/bin/bash
MOD_TIME=`stat -c %Y thisfile.txt`
RIGHTNOW=`date +%s`
HOW_LONG=`expr $RIGHTNOW - $MOD_TIME`
NUM_MINS=`expr $HOW_LONG/60`
NUM_SECS=`expr $HOW_LONG % 60`
echo "$NUM_MINS minutes, $NUM_SECS seconds since modified."
+0
Спасибо за код. Прекрасно работает! – pistach
Это решение. Я собирался сделать это в два этапа. Сначала получите время и дату изменения со статусом, а затем я попытался поставить эту дату в формате «секунды с тех пор ...» Там я потерпел неудачу. Большое спасибо ! – pistach