расчет времени с помощью awk - PullRequest
0 голосов
/ 20 апреля 2010

У меня есть файл, который выглядит так:

Coding       |2010-04-20 12:52|2010-04-20 14:11
Documentation|2010-04-20 22:56|2010-04-21 01:13
Coding       |2010-04-21 09:51|2010-04-21 10:58
Coding       |2010-04-21 13:11|2010-04-21 14:21

Какой лучший способ - я думаю о awk - делать расчеты времени. Как результат я ожидаю:

2010-04-20 Coding         69
2010-04-21 Documentation 137
2010-04-21 Coding        137 

Можно ли это сделать с помощью awk?

1 Ответ

1 голос
/ 20 апреля 2010

Can this be done with awk?

я не знаю, как вы получаете эти числа 69, 137, но вы можете использовать gkk's mktime (и другие, такие как strftime и т. Д.)

awk -F"|" '
{
  gsub(/[-:]/," ",$2)
  gsub(/[-:]/," ",$3)
  m=split($2,s2," ")
  n=split($3,s3," ")
  t1=mktime(s2[1]" "s2[2]" "s2[3]" "s2[4]" "s2[5]" 0")
  t2=mktime(s3[1]" "s3[2]" "s3[3]" "s3[4]" "s3[5]" 0")
  print t2-t1
}' file

Вышесказанное на самом деле не решает вашу проблему, а лишь иллюстрацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...