使用bash从日志中获取执行时间

时间:2016-03-09 13:00:09

标签: bash logging

我有一些生成日志文件的应用程序,在文件末尾我有总处理时间,如:

  

处理完成时间为45.00031秒

我可以使用以下方式获取此行:

cat app.log | grep "Processing done in" 

但是如何解析字符串只能获得秒数?

  

45.00031

3 个答案:

答案 0 :(得分:1)

如果设置了模式,您只需使用cut从空格分隔的表中选择第4个字段:

cat app.log | grep "Processing done in" | cut -d " " -f 4

答案 1 :(得分:0)

grep再次为only个数字和点

cat app.log | grep "Processing done in" | grep -oE '[0-9.]+'

请注意,它可能会停止在另一个区域设置中工作,该区域设置使用,作为小数点分隔符。

答案 2 :(得分:0)

或者,在1个过程中而不是3个

 sed -n 's/^Pr.*in //;s/ sec//p' app.log

<强>输出

45.00031

IHTH