Разница во времени с использованием awk - PullRequest
1 голос
/ 17 ноября 2011

Я ищу однострочный код awk, чтобы найти разницу между временем и системной датой. Формат времени такой: 16: 13: 04,699 Я хочу разницу в минутах. Я не совсем знаком с awk, я могу рассчитать эту разницу, написав скрипт, но хочу сделать это в одну строку.

Спасибо.

1 Ответ

4 голосов
/ 17 ноября 2011

Не совсем одна строка:

awk -v 'time=16:13:04,699' -v "date=$(date +%H:%M:%S)" '
  function abs(x) {return x<0 ? -x : x}
  BEGIN {
    split(time, ary, /[:,]/); t_sec = 3600*ary[1] + 60*ary[2] + ary[3]
    split(date, ary, /:/);    d_sec = 3600*ary[1] + 60*ary[2] + ary[3]
    # output difference in minutes
    print abs(t_sec - d_sec)/60
  }
'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...