+ -
当前位置:首页 → 问答吧 → 如何将这样的时间19:06:37.157转换相减。

如何将这样的时间19:06:37.157转换相减。

时间:2011-05-16

来源:互联网

将时间:19:06:37.157 和19:06:38.120相减少  
做到  19:06:38.120  -19:06:37.157  = 37+60*1 = 97 ms 。

可以用shell或者sed或者awk都可以。
谢谢。

作者: chunjing   发布时间: 2011-05-16

回复 chunjing


    你减的太奇怪了,不是大的减小的么?

[root@ ~]# cat 1
19:06:38.120
19:06:37.157
[root@ ~]# awk -F'[:|.]' 'NR==1{a=$3;b=$4}NR==2{print (a-$3)*60-b+$4}'  1
97

作者: wtuter   发布时间: 2011-05-16

把时间换算成毫秒数,再比较就行了

作者: where27   发布时间: 2011-05-16

回复 where27

我知道,但是不知道怎么转化。我这个时间,不是 date命令出来的时间。

作者: chunjing   发布时间: 2011-05-16

回复 wtuter


谢谢,在问个呀, awk -F'[:|.]' 'NR==1{a=$3;b=$4}NR==2{print (a-$3)*60-b+$4}'   $a
此处的$a 是上面的一个变量可以这样执行吗。

作者: chunjing   发布时间: 2011-05-16

回复 chunjing


    awk用外部变量awk -v a=$a

作者: wtuter   发布时间: 2011-05-16

回复 wtuter


   echo $A
echo $B
  awk -F'[:|.]' 'NR==1{a=$3;b=$4}NR==2{print (a-$3)*60-b+$4}' awk -v A=$
执行结果。
19:06:37.146
19:06:37.157
awk: (FILENAME=awk FNR=1) 致命错误: 无法以读模式打开文件“-v”(没有那个文件或目录)

不知道为什么。

作者: chunjing   发布时间: 2011-05-16

回复 chunjing


    你很有才,

作者: wtuter   发布时间: 2011-05-16