使用 gawk ( awk ) 将日期格式转换为纪元

使用 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}'

对我有用

相关内容