Переформатировать текстовые данные, конвертировать из целого числа во время и объединять с датой, используя sed awk split - PullRequest
0 голосов
/ 22 мая 2018

У меня есть входной файл данных, например: (с именами столбцов, не являющимися частью файла данных. Date,Desc,Timestamp1, Timestamp2) ---

2016-01-01, AAA, 330, 1430
2016-01-02, ABA, 130, 930

Мне нужно вывести как (с именами столбцов не являются частьюфайла данных. Date, Desc, Timestamp1, Timestamp2) ---

2016-01-01, AAA, 2016-01-01 03:30, 2016-01-01 14:30
2016-01-02, ABA, 2016-01-02 01:30, 2016-01-02 09:30

Пожалуйста, помогите.Спасибо

1 Ответ

0 голосов
/ 28 мая 2018

Спасибо авторам.

awk '
 BEGIN{FS=","; OFS=", "}
{
  split($2,d,"-"); 
  t0 = mktime(d[1]" "d[2]" "d[3]" "int($5 / 100)" "$5 % 100" 0"); 
  $5 = strftime("%Y-%m-%d %H:%M", t0); 
  $6 = strftime("%Y-%m-%d %H:%M", t0 + 3600 * int($6 / 100) + 60 * ($6 % 100))
} 1' afile.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...