小编enc*_*ush的帖子

Unix 纪元(以毫秒为单位)

我在命令的输出中添加了具有“纳秒”精度的 Unix 纪元,如下所示:

$ command | while read line; do d=`date +%s%N`; echo $d $line; done > file
Run Code Online (Sandbox Code Playgroud)

我环顾四周,想知道如何将“纳秒”变成“毫秒”。例如,我遵循了此处给出的解决方案。所以,我尝试了两种建议的方法:

$ command | while read line; do d=`echo $(($(date +%s%N)/1000000))`; echo $d $line; done > file
$ command | while read line; do d=`date +%s%N | cut -b1-13`; echo $d $line; done > file
Run Code Online (Sandbox Code Playgroud)

但是,在这两种情况下,当我将文件插入 InfluxDB 并查询我的数据库时,我得到以下信息:

time    
1970-01-01T00:24:05.419982325Z  
1970-01-01T00:24:05.419982344Z  
1970-01-01T00:24:05.419982371Z  
1970-01-01T00:24:05.419982378Z  
1970-01-01T00:24:05.419982388Z  
1970-01-01T00:24:05.419982401Z
Run Code Online (Sandbox Code Playgroud)

更新

当我以纳秒精度使用 epoch 时date +%s%N,我得到了这个:

time
2015-10-21T08:59:59.978902683Z  
2015-10-21T08:59:59.982615836Z  
2015-10-21T08:59:59.983958069Z  
2015-10-21T08:59:59.98805317Z   
2015-10-21T08:59:59.99717678Z   
2015-10-21T09:00:00.028624495Z  
Run Code Online (Sandbox Code Playgroud)

我期待这样的输出: …

bash shell-script date timestamps time

5
推荐指数
1
解决办法
4050
查看次数

标签 统计

bash ×1

date ×1

shell-script ×1

time ×1

timestamps ×1