Преобразование формата даты в эпоху с использованием 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 (первый столбец данных, который является датой) не передается должным образом. Но не уверен, в чем проблема.

1 ответ

Цитирование задания command останавливает расширение $1,

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

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

Другие вопросы по тегам