在Unix

时间:2018-06-18 18:36:19

标签: shell unix

我只想存储那些执行时间少于20毫秒的日志,这个附加几行日志的文件很大。 你能帮忙吗?

调试 日志消息: 消息来源:null 信息: { “名称”: “splocal_GetQualityData”, “模式”: “DBO”, “inputParameters”:{ “1”: “628AF1E4-54E4-471E-A5F1-D8C1EF74D7CB”, “2”:“743FB2E8-6D63-4F0B-8E03 -79799072F4EE”, “3”:1, “4”:假}, “outputParameters”:空} {} 执行时间:13毫秒 2018-06-14 00:00:20

调试 日志消息: 消息来源:null 信息: 30,20188 4:00:00 AM “ ”IsUserClockedOn“:假的, ”MaterialDefinitionS95Id“: ”56L1001WC59“, ”LotOPAvailableQty“:1.0, ”TIMEZONENAME“: ”GMT-5“, ”BatchId“:空, ”LotOPStartTime“:” 一月 1,2100:00 12:00:00 AM“,”Sequence“:null,”RowNum“:1,”ScheduledEndDate“:”Jun 21, 2018 4:00:00 AM“,”SortDate“:”2018年5月30日12:00:00 AM“,”PriorOpEndTime“:”Jun 13,20188 10:12:15 PM“,”MaterialLotS95Id“:”V220604“,”LotStatus“:”在 进展 “ ”IsSerialized“:真}, ”2“:{ ”LotOperationSegmentResponseId“: ”41E01DE9-B306-4039-B774-46229E700D5A“, ”LotOPCompleteQty“:0.0 ”ActiveClockOnCount“:0, ”OrderPriority“:0,” OrderQty “:10.0,” LotOPStatus “:” 准备好了 “ ”LotSegmentResponseId“: ”21C238F0-7F52-459C-AC99-394E347E28EB“, ”ShopOrderS95Id“: ”HIF1100-006NSUPP3“, ”ClockedOnUsers“:空, ”操作“:” 7" , “ScheduledStartDate”:“五月 30,20188 4:00:00 2018 4:00:00 AM“,”SortDate“:”2018年6月11日12:00:00 AM“,”PriorOpEndTime“:”Jun 13,20188 11:52:00 PM“,”MaterialLotS95Id“:”V240070“,”LotStatus“:”在 进步”, “IsSerialized”:真正}} 执行时间:105毫秒 2018-06-14 00:00:21

调试 日志消息: 消息来源:null 信息: { “名称”: “spLocal_GetOperations_ByOperationId”, “模式”: “DBO”, “inputParameters”:{ “1”: “88AD5E8A-D63E-4F4B-AC66-CFE039275F73”, “2”:“8A42EB09-1765-49AD-ADA4 -5E9614645522" , “3”:“\ u003c XML 16,2018 4:00:00 AM“,”SortDate“:”2018年4月24日12:00:00 AM“,”ScheduledStartDate“:”2018年4月24日4:00:00 AM “ ”IsUserClockedOn“:假的, ”MaterialLotS95Id“: ”V170069“, ”LotStatus“: ”保持“, ”MaterialDefinitionS95Id“: ”18L0009WH“, ”IsSerialized“:真正}, ”2“:{ ”LotOperationSegmentResponseId“:” 1BD13FF3-A802-4C59-A23B-0CCDCA6B1149" , “LotOPAvailableQty”:1.0 “LotOPCompleteQty”:0.0 “ActiveClockOnCount”:0, “OrderPriority”:3 “OrderQty”:195.0, “LotOPStatus”: “保持”,” TIMEZONENAME “:” GMT-5" , “BatchId”:空, “ShopOrderS95Id”: “HSR200065230L”, “ClockedOnUsers”:空, “操作”: “30”, “序”:空, “ScheduledEndDate”:“一月 31,2018 5:00:00 AM“,”SortDate“:”2018年1月8日12:00:00 AM“,”ScheduledStartDate“:”2018年1月8日5:00:00 AM“,”ScheduledStartDate“:”2018年6月4日4:00:00 AM “ ”IsUserClockedOn“:假的, ”MaterialLotS95Id“: ”V230217“, ”LotStatus“:” 在 进步”, “MaterialDefinitionS95Id”: “58L105WC60”, “IsSerialized”:真正}} 执行时间:22毫秒 2018-06-14 00:00:21

1 个答案:

答案 0 :(得分:1)

您可以使用以下脚本:

#!/bin/bash #You can get bash path using 'which bash' command

IFS=$'\n'
for i in `cat logFile` #You can use while in place of for, while provides better performance
do
    execTime=`echo $i|grep "Execution Time:" | sed  's/^.*: //' | awk '{print $1}'`
    limitTime=20
    if [ "$execTime" -lt "$limitTime" ] #executionTime less than 20ms
    then
        echo $i
    fi
done