假设我有2个字段显示以微秒为单位的纪元时间:
1318044415123456,1318044415990056
我想做的是:
为什么我这样做?因为awk使用浮点IEEE 754但不使用64位整数,我需要在微秒内获得2个事件的纪元时间差异。
感谢您的帮助!
最后,我找到了Awk在Snow Leopard 10.6.8上可以处理的最大数量:9007199254740992
。
试试这个:echo '9007199254740992' | awk -F ',' '{print $1 + 0}'
Awk的版本为20070501
(由awk --version
生成)
答案 0 :(得分:2)
这是一个符合您要求的awk脚本:
BEGIN {
FS = ","
}
{
s1 = $1
s2 = $2
while (length(s1) > 1 && substr(s1, 1, 1) == substr(s2, 1, 1))
{
s1 = substr(s1, 2)
s2 = substr(s2, 2)
}
n1 = s1 + 0
n2 = s2 + 0
print n2 - n1
}