Преобразование формата даты в эпоху с использованием gawk (awk)

Я хочу преобразовать даты в файле во время эпохи. Пример csv выглядит так:

$ cat test.jtl 
2016/09/19 00:31:17.080,238,test1  
2016/09/19 00:31:17.154,322,test2 
22-Sep-2014 10:32:35.012,222,test3

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

cat test.jtl  | gawk 'BEGIN{FS=OFS=","} {command="date -d \"$1\" +'%s%3N'";command | getline $1;close(command);print}'

Но это возвращает только текущую дату в эпохе. Я думаю, что $ 1 (первый столбец данных, который является датой) не передается должным образом. Но не уверен, в чем проблема.

0
задан 20 September 2016 в 21:52
1 ответ

Цитирование назначения на команду останавливает расширение 1.

cat test.jtl | gawk 'BEGIN{FS=OFS=","} {command="date -d \""$1"\" +'%s%3N'";command |getline;close(command);print}'

работает на меня

.
1
ответ дан 4 December 2019 в 16:29

Теги

Похожие вопросы