【发布时间】:2017-07-11 10:14:28
【问题描述】:
我有以下格式的 CSV 文件
20170102 00:00:00.803,
20170102 00:00:01.265,
20170102 00:00:05.818,
我已经设法用
添加斜线sed -r 's#(.{4})(.{2})(.{2})(.{2})(.{2})#\1/\2/\3 \4:\5:#' file.csv > newfile.csv
如下,启用覆盖时间戳
2017/01/02 0:0::00:00.803
2017/01/02 0:0::00:01.265
2017/01/02 0:0::00:05.818
但使用后
cat newfile.csv | while read line ; do echo $line\;$(date -d "$t" "+%s%N") ; done > nextfile.csv
我明白了:
2017/01/02 0:0::00:00.803,1499727600000000000
2017/01/02 0:0::00:01.265,1499727600000000000
2017/01/02 0:0::00:05.818,1499727600000000000
我的数据可能有问题,但我太初学者了,无法获得缺失值。如果您能给我一些 sed/awk 魔法,将不胜感激。谢谢!
编辑:我需要一个以毫秒为单位的时间戳,但我现在得到的只是零(多么典型)
【问题讨论】:
-
我认为告诉我们你想要什么(预期的输出)会帮助你更快地得到答案。
-
对不起!请查看已编辑帖子的最后一行
-
请给出所需输出的明确示例。
标签: bash csv awk sed timestamp