Назад | Перейти на главную страницу

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

Цитата переуступки command останавливает расширение $1.

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

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