需要Shell脚本-我必须从appserver日志中收集时间戳

问题描述

|| 我必须从appserver日志中收集时间戳并将其存储在输出文件中。最后必须找到每个时间戳之间的差异并打印出来。例如:如果我收集了10个时间戳并保存在文件中。必须找到10号和9号之间的差异。第9和8 ..............第2和第1个时间戳。有人可以帮我编写shell脚本吗?     

解决方法

要提取时间戳并将其转换为纪元时间:
perl -MTime::Local -ne \' 
    ($ts,$y,$m,$d,$H,$M,$S,$frac) = 
        /((\\d{4})-(\\d\\d)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d)\\.(\\d+))/;
    $time = timelocal($S,$m-1,$y-1900) + \"0.$frac\";
    print $ts,\",$time,\"\\n\";
\' log.file > output.file
有了您的输入,这将输出
2011-04-12 06:49:02.874,1302605342.874
为了找到差异,您现在可以对最后一列中的时间值进行算术运算。