AWK Command

try this

 
awk -v var4="$var2" -v var5="$var3" -F\| '{gsub(" ","",$7)} $7~/^Taskstarted$|^Exchangestarted$/' && $8~var4 && $9~var5  {print $1}' Sri1.log >> file1.txt
1 Like

Try this

$awk -F"|" '{gsub(" ","",$7);if($7 ~ /^Taskstarted$/){print $1}}' filename

output is

2012-05-09 10:28:47.94
1 Like

I am facing another issue
I have a file:

2012-05-09 10:29:29.846 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | jms:Send to Remit Splits            | {}
2012-05-09 10:29:29.997 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | filesystem:Reports_5                | {}
2012-05-09 10:29:29.979 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000005  | jms:Send to Remit Splits            | {}
2012-05-09 10:29:30.028 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000006  | filesystem:Reports_5                | {}
2012-05-09 10:29:30.041 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000003  | xengine:CERR to ECR CF              | {}
2012-05-09 10:29:30.227 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000002  | filesystem:Reports_5                | {}
2012-05-09 10:29:30.237 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | xengine:Validation, Split           | {}
2012-05-09 10:29:30.239 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | service.adapter:UCF Version Creator | {}
2012-05-09 10:29:30.244 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | filesystem:CERR                     | {}
2012-05-09 10:29:30.245 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | xengine:CERR to ECR CF              | {}
2012-05-09 10:29:30.246 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | filesystem:Reports_5                | {}
2012-05-09 10:29:30.246 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | jms:Send to Remit Splits            | {}
2012-05-09 10:29:30.060 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | jms:JMS Inbound                     | {}
2012-05-09 10:32:40.278 | SYNC  | 00042 | DEBUG   | EUO_Main Remittance Flow | Task            | Task completed on a component          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | jms:JMS Inbound                     | {}
2012-05-09 10:29:30.062 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | scriptrunner:Copy Msg Props to Exchange | {}
2012-05-09 10:29:30.635 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | service.adapter:UCF Version Creator | {}
2012-05-09 10:29:30.777 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | subroute.processor:Claim Remit Processor | {}
2012-05-09 10:30:02.511 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | eip.router:Action                   | {}
2012-05-09 10:30:02.514 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | eip.router:Data Type                | {}
2012-05-09 10:30:02.517 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | subroute.processor:Original Data Processing | {}
2012-05-09 10:29:30.632 | SYNC  | 00052 | DEBUG   | EUO_Main Remittance Flow | Exchange        | Exchange processing completed          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000000  | scriptrunner:Copy Msg Props to Exchange | {}
2012-05-09 10:32:05.287 | SYNC  | 00052 | DEBUG   | EUO_Main Remittance Flow | Exchange        | Exchange processing completed          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000003  | subroute.processor:Original Data Processing | {}
2012-05-09 10:32:05.288 | SYNC  | 00052 | DEBUG   | EUO_Main Remittance Flow | Exchange        | Exchange processing completed          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000003  | eip.router:Data Type                | {}
2012-05-09 10:32:05.289 | SYNC  | 00052 | DEBUG   | EUO_Main Remittance Flow | Exchange        | Exchange processing completed          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000003  | eip.router:Action                   |{}

I want to fetch the difference between the time (which is in first column) for the component(which is in 8th column) having the value Task started on a component and either "Exchange processing completed/Task completed on a component" which ever comes later.

Expected output

jms:Send to Remit Splits   B678C56D-96DA-4FFC-B40E-9A032A2EB12E   400

same for all other components. There is an ID in 7th column which will have "Task started on a component" and "completed" within that ID
Do I need to read the entire file to check where is "Exchange processing completed/Task completed on a component"
What is the best possible way of doing it?
Please help me in it.

value "scriptrunner:Copy Msg Props to Exchange" at 9th feild is not having same value at 8th field for "Task started on a component" and either "Exchange processing completed/Task completed on a component"

How to deal with such cases?
Give sample output if you can

The expected output is

jms:Send to Remit Splits   B678C56D-96DA-4FFC-B40E-9A032A2EB12E   400
--this 400 is result of((10:29:30.246)-(10:29:29.846))

filesystem:Reports_5  B678C56D-96DA-4FFC-B40E-9A032A2EB12E 249
--249 is ((10:29:30.246)-(10:29:29.997))

Try this

awk -F"|" 'BEGIN{i=1}($7 ~ /Task started on a component/){if(!a[$9]){a[$9]=$1;b[$9]=$8;c=$9;i++}}
($7 ~ /Exchange processing completed|Task completed on a component/){if(a[$9]){d[$9]=$1}}
END{for (j=1;j<i;j++){if(a[c[j]]&&d[c[j]]){split(a[c[j]],s_tm," ");split(d[c[j]],e_tm," ");
x=((substr(s_tm[2],1,2)*3600)+(substr(s_tm[2],4,2)*60)+substr(s_tm[2],7,2))*1000+substr(s_tm[2],10,3)
y=((substr(e_tm[2],1,2)*3600)+(substr(e_tm[2],4,2)*60)+substr(e_tm[2],7,2))*1000+substr(e_tm[2],10,3);print c[j]" "b[c[j]]" "y-x}}}' inputfile

Output is

jms:Send to Remit Splits              B678C56D-96DA-4FFC-B40E-9A032A2EB12E           400
 filesystem:Reports_5                  B678C56D-96DA-4FFC-B40E-9A032A2EB12E           249
 jms:JMS Inbound                       F7852A81-1BE0-42D6-83E1-8DAADF816CEC           190218
 scriptrunner:Copy Msg Props to Exchange   F7852A81-1BE0-42D6-83E1-8DAADF816CEC           570
 eip.router:Action                     F7852A81-1BE0-42D6-83E1-8DAADF816CEC           122778
 eip.router:Data Type                  F7852A81-1BE0-42D6-83E1-8DAADF816CEC           122774
 subroute.processor:Original Data Processing   F7852A81-1BE0-42D6-83E1-8DAADF816CEC           122770

Aww...reading that hurts.
Please try to present such humongous scripts in a better way.

awk -F"|" '
BEGIN{i=1}
($7 ~ /Task started on a component/){	if(!a[$9])
						{	a[$9]=$1;
							b[$9]=$8;
							c=$9;i++
						}
				}
($7 ~ /Exchange processing completed|Task completed on a component/){if(a[$9])
									{d[$9]=$1}
								}
END{for (j=1;j<i;j++){	if(a[c[j]]&&d[c[j]])
				{
					split(a[c[j]],s_tm," ");split(d[c[j]],e_tm," ");
					x=((substr(s_tm[2],1,2)*3600)+(substr(s_tm[2],4,2)*60)+substr(s_tm[2],7,2))*1000+substr(s_tm[2],10,3);
					y=((substr(e_tm[2],1,2)*3600)+(substr(e_tm[2],4,2)*60)+substr(e_tm[2],7,2))*1000+substr(e_tm[2],10,3);
					print c[j]" "b[c[j]]" "y-x
				}
			}
}' inputfile
1 Like

Thanks for your valuable input.It helped a lot.

But it is not working with few of the lines in the file.
as

2012-05-09 10:34:15.281 | SYNC  | 00041 | DEBUG   | EUO_Header Enrichment    | Task            | Task started on a component            | 4062CE9C-09E0-403D-BD2E-1C147CA40113          | subroute.endpoint:Inbound           | {} 2012-05-09 10:34:15.281 | SYNC  | 00041 | DEBUG   | EUO_Header Enrichment    | Task            | Task started on a component            | 4062CE9C-09E0-403D-BD2E-1C147CA40113          | subroute.endpoint:Inbound           | {}
2012-05-09 10:34:15.282 | SYNC  | 00041 | DEBUG   | EUO_Header Enrichment    | Task            | Task started on a component            | 4062CE9C-09E0-403D-BD2E-1C147CA40113          | eip.router:CP Exists ?              | {} 2012-05-09 10:34:15.282 | SYNC  | 00041 | DEBUG   | EUO_Header Enrichment    | Task            | Task started on a component            | 4062CE9C-09E0-403D-BD2E-1C147CA40113          | eip.router:CP Exists ?              | {}
2012-05-09 10:34:15.336 | SYNC  | 00041 | DEBUG   | EUO_Header Enrichment    | Task            | Task started on a component            | 4062CE9C-09E0-403D-BD2E-1C147CA40113          | eip.aggregator:Received + Revised HDR | {} 2012-05-09 10:34:15.336 | SYNC  | 00041 | DEBUG   | EUO_Header Enrichment    | Task            | Task started on a component            | 4062CE9C-09E0-403D-BD2E-1C147CA40113          | eip.aggregator:Received + Revised HDR | {}
2012-05-09 10:34:51.801 | SYNC  | 00052 | DEBUG   | EUO_Header Enrichment    | Exchange        | Exchange processing completed          | 4062CE9C-09E0-403D-BD2E-1C147CA40113-0000000  | eip.aggregator:Received + Revised HDR | {previous-component=CP Exists ?, exchange-properties={Format=5010, DataType=HDR, TR_EUO_SubscriberSwitch=SB, tpm_relationship_sender_ID=100001, tpm_relationship_receiver_EXTERNAL_ID=GREATPLAINGROUP, EUO_CR_UseSubmittedClaimID= Yes, EUO_MapName=${EagleRoot\Artifacts\Maps\Edifecs\ECR-835_5010A1.ems}, TR_EUO_PayToProviderNPISwitch=SS, tpm_relationship_sender_IS_INTERNAL=true, TR_EUO_SenderID=HEALTHYLIFEPLAN, SenderIdentifier=MS, xes_msg_srcname=JMS Inbound, tpm_relationship_receiver_NAME=Great Plains Group, TR_EUO_SendClearinghouseTraceNumber=false, TR_EUO_ReceiverIDQualifier=ZZ, BAMSystemID=109F142C-F644-4C86-BAC5-5CD0025AED23, ReceiverIdentifier=GREATPLAINGROUP, TR_EUO_ClaimRemittanceGenerationLocation=MS, tpm_relationship_sender_BUSINESS_ROLE_NAME=Community Owner, TR_EUO_ReceiverID=GREATPLAINGROUP, TR_EUO_BackfillVersionName=original, tpm_relationship_receiver_ID=100910, RemittanceId=o3EhNzKqTwIhcMxg101209090000024_1, TR_EUO_SenderIDQualifier=ZZ, TR_EUO_RenderingProviderDataSwitch=SS, IsPaymentExists=o3EhNzKqTwIhcMxg101209090000024_112345i123451234511, tpm_relationship_TR_ID=316, tpm_relationship_BUSINESS_DOCUMENT_NAME=ClaimRemittance, DeliverySchedule=immediate, ClaimProcessorID=MHS System Manager V6.0.0 Copy, ResultCount=0, RemitProcessingID=014BB9C7-B83E-48FC-9745-6A8A45F8F9AD, TR_EUO_BillingProviderDataSwitch=SS, RevisionType=base, tpm_relationship_sender_NAME=CIGNA, TR_EUO_BillingProviderOtherIdentifierSwitch=SS, tpm_relationship_DIRECTION=Outbound, tpm_relationship_MODE=Batch, TR_EUO_CIGNA_CROSSWALK_ID=MS, BusinessDocument=ClaimRemittance, EUO_ClaimProcessorID=MS, IsHeader=true, _ReceiverETIN=NULL, ParserSchema=/app1/edifecs/EagleRoot/Configuration/Common/ParserSchema_CERR.ecs, tpm_relationship_METHOD=Direct, tpm_relationship_ENVIRONMENT_NAME=Production, ReceiverETIN=GREATPLAINGROUP, tpm_relationship_receiver_BUSINESS_ROLE_NAME=Provider, tpm_relationship_sender_EXTERNAL_ID=null, tpm_relationship_receiver_IS_INTERNAL=false, ClaimSystemID=MS, TR_EUO_OutboundDataSwitchLocation=TradingPartner\Outbound\DataSwitch, TR_EUO_RenderingProviderOtherIdentifierSwitch=SS, TR_EUO_ServiceFacilityNPISwitch=SS, tpm_relationship_IS_RESOLVED=true, IsCorrection=false, tpm_relationship_found=true, TR_EUO_PatientSwitch=SB}, output-name=Yes} 2012-05-09 10:34:51.801 | SYNC  | 00052 | DEBUG   | EUO_Header Enrichment    | Exchange        | Exchange processing completed          | 4062CE9C-09E0-403D-BD2E-1C147CA40113-0000000  | eip.aggregator:Received + Revised HDR | {previous-component=CP Exists ?, exchange-properties={Format=5010, DataType=HDR, TR_EUO_SubscriberSwitch=SB, tpm_relationship_sender_ID=100001, tpm_relationship_receiver_EXTERNAL_ID=GREATPLAINGROUP, EUO_CR_UseSubmittedClaimID= Yes, EUO_MapName=${EagleRoot\Artifacts\Maps\Edifecs\ECR-835_5010A1.ems}, TR_EUO_PayToProviderNPISwitch=SS, tpm_relationship_sender_IS_INTERNAL=true, TR_EUO_SenderID=HEALTHYLIFEPLAN, SenderIdentifier=MS, xes_msg_srcname=JMS Inbound, tpm_relationship_receiver_NAME=Great Plains Group, TR_EUO_SendClearinghouseTraceNumber=false, TR_EUO_ReceiverIDQualifier=ZZ, BAMSystemID=109F142C-F644-4C86-BAC5-5CD0025AED23, ReceiverIdentifier=GREATPLAINGROUP, TR_EUO_ClaimRemittanceGenerationLocation=MS, tpm_relationship_sender_BUSINESS_ROLE_NAME=Community Owner, TR_EUO_ReceiverID=GREATPLAINGROUP, TR_EUO_BackfillVersionName=original, tpm_relationship_receiver_ID=100910, RemittanceId=o3EhNzKqTwIhcMxg101209090000024_1, TR_EUO_SenderIDQualifier=ZZ, TR_EUO_RenderingProviderDataSwitch=SS, IsPaymentExists=o3EhNzKqTwIhcMxg101209090000024_112345i123451234511, tpm_relationship_TR_ID=316, tpm_relationship_BUSINESS_DOCUMENT_NAME=ClaimRemittance, DeliverySchedule=immediate, ClaimProcessorID=MHS System Manager V6.0.0 Copy, ResultCount=0, RemitProcessingID=014BB9C7-B83E-48FC-9745-6A8A45F8F9AD, TR_EUO_BillingProviderDataSwitch=SS, RevisionType=base, tpm_relationship_sender_NAME=CIGNA, TR_EUO_BillingProviderOtherIdentifierSwitch=SS, tpm_relationship_DIRECTION=Outbound, tpm_relationship_MODE=Batch, TR_EUO_CIGNA_CROSSWALK_ID=MS, BusinessDocument=ClaimRemittance, EUO_ClaimProcessorID=MS, IsHeader=true, _ReceiverETIN=NULL, ParserSchema=/app1/edifecs/EagleRoot/Configuration/Common/ParserSchema_CERR.ecs, tpm_relationship_METHOD=Direct, tpm_relationship_ENVIRONMENT_NAME=Production, ReceiverETIN=GREATPLAINGROUP, tpm_relationship_receiver_BUSINESS_ROLE_NAME=Provider, tpm_relationship_sender_EXTERNAL_ID=null, tpm_relationship_receiver_IS_INTERNAL=false, ClaimSystemID=MS, TR_EUO_OutboundDataSwitchLocation=TradingPartner\Outbound\DataSwitch, TR_EUO_RenderingProviderOtherIdentifierSwitch=SS, TR_EUO_ServiceFacilityNPISwitch=SS, tpm_relationship_IS_RESOLVED=true, IsCorrection=false, tpm_relationship_found=true, TR_EUO_PatientSwitch=SB}, output-name=Yes}
2012-05-09 10:34:51.801 | SYNC  | 00052 | DEBUG   | EUO_Header Enrichment    | Exchange        | Exchange processing completed          | 4062CE9C-09E0-403D-BD2E-1C147CA40113-0000000  | eip.router:CP Exists ?              | {} 
2012-05-09 10:34:51.801 | SYNC  | 00052 | DEBUG   | EUO_Header Enrichment    | Exchange        | Exchange processing completed          | 4062CE9C-09E0-403D-BD2E-1C147CA40113-0000000  | eip.router:CP Exists ?              | {}
2012-05-09 10:34:51.802 | SYNC  | 00042 | DEBUG   | EUO_Header Enrichment    | Task            | Task completed on a component          | 4062CE9C-09E0-403D-BD2E-1C147CA40113          | subroute.endpoint:Inbound           | {} 2012-05-09 10:34:51.802 | SYNC  | 00042 | DEBUG   | EUO_Header Enrichment    | Task            | Task completed on a component          | 4062CE9C-09E0-403D-BD2E-1C147CA40113          | subroute.endpoint:Inbound           | {}
2012-05-09 10:34:51.802 | SYNC  | 00042 | DEBUG   | EUO_Header Enrichment    | Task            | Task completed on a component          | 4062CE9C-09E0-403D-BD2E-1C147CA40113          | eip.router:CP Exists ?              | {} 2012-05-09 10:34:51.802 | SYNC  | 00042 | DEBUG   | EUO_Header Enrichment    | Task            | Task completed on a component          | 4062CE9C-09E0-403D-BD2E-1C147CA40113          | eip.router:CP Exists ?              | {}
2012-05-09 10:34:51.802 | SYNC  | 00042 | DEBUG   | EUO_Header Enrichment    | Task            | Task completed on a component          | 4062CE9C-09E0-403D-BD2E-1C147CA40113          | eip.aggregator:Received + Revised HDR | {}
 2012-05-09 10:34:51.802 | SYNC  | 00042 | DEBUG   | EUO_Header Enrichment    | Task            | Task completed on a component          | 4062CE9C-09E0-403D-BD2E-1C147CA40113          | eip.aggregator:Received + Revised HDR | {}

it didn't showed any output for these lines. Can you tell the reason behind this?

Once again thanx for the help
Can you please give me a brief of the way the code works.Since I am new to unix programming.

i have checked for these input also. its giving the following output

subroute.endpoint:Inbound             4062CE9C-09E0-403D-BD2E-1C147CA40113           36521
 eip.router:CP Exists ?                4062CE9C-09E0-403D-BD2E-1C147CA40113           36520
 eip.aggregator:Received + Revised HDR   4062CE9C-09E0-403D-BD2E-1C147CA40113           36466

As for the code in array a[] i am storing the start time associative with array index as 9th field.
once i got start time i am storing end time for the same value of field 9 in array b[].

In the END i am finding the time difference from start and end time stored in array a[] and b[].
Here i had assumed the date is same for start and end of process.
if dates are different than the changes need to be made in calculating the time difference.

1 Like

Thanks for the valuable input.
But i have few queries...
I tried running it again but its not giving output for few set of lines which are part of a complete big file.

and also the condition for fetching the end time.
Because the output is not same as per my calculations

The output its giving is:

 filesystem:CERR               B678C56D-96DA-4FFC-B40E-9A032A2EB12E          324118

But as per my calculations it should be

filesystem:CERR                B678C56D-96DA-4FFC-B40E-9A032A2EB12E         42263

The timings for this component are according to my calculations

Start time  37727981   (10:28:47.981)
End time    37770244   (10:29:30.244)

Timings according to the code are

Start time  37727981   (10:28:47.981)
End time    38052099   

So can you please explain the second condition?

The set of line for this output are

2012-05-09 10:28:47.981 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | filesystem:CERR                     | {}
2012-05-09 10:28:47.995 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | xengine:Validation, Split           | {}
2012-05-09 10:29:14.284 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | xengine:CERR to ECR CF              | {}
2012-05-09 10:29:28.679 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | service.adapter:UCF Version Creator | {}
2012-05-09 10:29:29.846 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | jms:Send to Remit Splits            | {}
2012-05-09 10:29:29.997 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | filesystem:Reports_5                | {}
2012-05-09 10:29:29.979 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000005  | jms:Send to Remit Splits            | {}
2012-05-09 10:29:29.980 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000004  | service.adapter:UCF Version Creator | {}
2012-05-09 10:29:30.028 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000006  | filesystem:Reports_5                | {}
2012-05-09 10:29:30.041 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000003  | xengine:CERR to ECR CF              | {}
2012-05-09 10:29:30.231 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000000  | xengine:Validation, Split           | {}
2012-05-09 10:29:30.237 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | xengine:Validation, Split           | {}
2012-05-09 10:29:30.239 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | service.adapter:UCF Version Creator | {}
2012-05-09 10:29:30.244 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | filesystem:CERR                     | {}
2012-05-09 10:29:30.245 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | xengine:CERR to ECR CF              | {}
2012-05-09 10:29:30.246 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | filesystem:Reports_5                | {}
2012-05-09 10:29:30.246 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | jms:Send to Remit Splits            | {}

when i am running the program with this set of data it is giving the output as required by you

 filesystem:CERR                       B678C56D-96DA-4FFC-B40E-9A032A2EB12E           42263
 xengine:Validation, Split             B678C56D-96DA-4FFC-B40E-9A032A2EB12E           42242
 xengine:CERR to ECR CF                B678C56D-96DA-4FFC-B40E-9A032A2EB12E           15961
 service.adapter:UCF Version Creator   B678C56D-96DA-4FFC-B40E-9A032A2EB12E           1560
 jms:Send to Remit Splits              B678C56D-96DA-4FFC-B40E-9A032A2EB12E           400
 filesystem:Reports_5                  B678C56D-96DA-4FFC-B40E-9A032A2EB12E           249

For calculating the end time i am keep overwriting the value in array d[] as and when Exchange processing completed /Task completed on a component coming in the 7th field for that particular process. in the end i will get the last end time for that particular process

1 Like

The code works fine when I run it on small chunks of the file
but when running the complete file it gives different output.

Do you have any idea of this type of behavior?

Thanx for your help

I think this may be because of the same process may be started multiple time in that file. Check it if this is the case.
In that case we have to modify the code.
Give me sample data for such cases. For example grep the "filesystem:CERR" process in the file.

These are few lines from the file

2012-05-09 10:28:47.981 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | filesystem:CERR                     | {}
2012-05-09 10:28:47.995 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | xengine:Validation, Split           | {}
2012-05-09 10:29:14.284 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | xengine:CERR to ECR CF              | {}
2012-05-09 10:29:28.679 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | service.adapter:UCF Version Creator | {}
2012-05-09 10:29:29.846 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | jms:Send to Remit Splits            | {}
2012-05-09 10:29:29.997 | SYNC  | 00041 | DEBUG   | Customer_Receive Payment | Task            | Task started on a component            | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | filesystem:Reports_5                | {}
2012-05-09 10:29:29.979 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000005  | jms:Send to Remit Splits            | {previous-component=UCF Version Creator, exchange-properties={ClaimSystemID=MS, BAMSystemID=A1F8D828-15D0-4DE2-8B6E-672BD8D704B8, RemittanceId=IUxBNzKlZfghcMxf101209090000024_1, ParserSchema=/app1/edifecs/EagleRoot/Configuration/Common/ParserSchema_CERR.ecs, IsCorrection=false}, output-name=data}
2012-05-09 10:29:29.980 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000004  | service.adapter:UCF Version Creator | {previous-component=CERR to ECR CF, exchange-properties={BAMSystemID=A1F8D828-15D0-4DE2-8B6E-672BD8D704B8, ClaimSystemID=MS, ParserSchema=/app1/edifecs/EagleRoot/Configuration/Common/ParserSchema_CERR.ecs, RemittanceId=IUxBNzKlZfghcMxf101209090000024_1, IsCorrection=false}, output-name=result}
2012-05-09 10:29:30.028 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000006  | filesystem:Reports_5                | {previous-component=CERR to ECR CF, exchange-properties={BAMSystemID=A1F8D828-15D0-4DE2-8B6E-672BD8D704B8, ClaimSystemID=MS, ParserSchema=/app1/edifecs/EagleRoot/Configuration/Common/ParserSchema_CERR.ecs, RemittanceId=IUxBNzKlZfghcMxf101209090000024_1, IsCorrection=false}, output-name=reports}
2012-05-09 10:29:30.041 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000003  | xengine:CERR to ECR CF              | {previous-component=Validation, Split, exchange-properties={ClaimSystemID=MS, BAMSystemID=A1F8D828-15D0-4DE2-8B6E-672BD8D704B8, RemittanceId=IUxBNzKlZfghcMxf101209090000024_1, ParserSchema=/app1/edifecs/EagleRoot/Configuration/Common/ParserSchema_CERR.ecs, IsCorrection=false}, output-name=Split Good}
2012-05-09 10:29:30.227 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000002  | filesystem:Reports_5                | {previous-component=Validation, Split, exchange-properties={ParserSchema=/app1/edifecs/EagleRoot/Configuration/Common/ParserSchema_CERR.ecs, IsCorrection=false}, output-name=reports}
2012-05-09 10:29:30.231 | SYNC  | 00052 | DEBUG   | Customer_Receive Payment | Exchange        | Exchange processing completed          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E-0000000  | xengine:Validation, Split           | {previous-component=CERR, exchange-properties={ParserSchema=/app1/edifecs/EagleRoot/Configuration/Common/ParserSchema_CERR.ecs, IsCorrection=false}, output-name=data}
2012-05-09 10:29:30.237 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | xengine:Validation, Split           | {}
2012-05-09 10:29:30.239 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | service.adapter:UCF Version Creator | {}
2012-05-09 10:29:30.244 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | filesystem:CERR                     | {}
2012-05-09 10:29:30.245 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | xengine:CERR to ECR CF              | {}
2012-05-09 10:29:30.246 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | filesystem:Reports_5                | {}
2012-05-09 10:29:30.246 | SYNC  | 00042 | DEBUG   | Customer_Receive Payment | Task            | Task completed on a component          | B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | jms:Send to Remit Splits            | {}
2012-05-09 10:29:30.060 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | jms:JMS Inbound                     | {}
2012-05-09 10:32:40.278 | SYNC  | 00042 | DEBUG   | EUO_Main Remittance Flow | Task            | Task completed on a component          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | jms:JMS Inbound                     | {}
2012-05-09 10:29:30.062 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | scriptrunner:Copy Msg Props to Exchange | {}
2012-05-09 10:29:30.635 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | service.adapter:UCF Version Creator | {}
2012-05-09 10:29:30.777 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | subroute.processor:Claim Remit Processor | {}
2012-05-09 10:30:02.511 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | eip.router:Action                   | {}
2012-05-09 10:30:02.514 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | eip.router:Data Type                | {}
2012-05-09 10:30:02.517 | SYNC  | 00041 | DEBUG   | EUO_Main Remittance Flow | Task            | Task started on a component            | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | subroute.processor:Original Data Processing | {}
2012-05-09 10:29:30.632 | SYNC  | 00052 | DEBUG   | EUO_Main Remittance Flow | Exchange        | Exchange processing completed          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000000  | scriptrunner:Copy Msg Props to Exchange | {previous-component=JMS Inbound, exchange-properties={BAMSystemID=A1F8D828-15D0-4DE2-8B6E-672BD8D704B8, ClaimSystemID=MS, RemitProcessingID=8003D1A3-E378-482D-86AF-3D2C4488C5FE, RemittanceId=IUxBNzKlZfghcMxf101209090000024_1, ParserSchema=/app1/edifecs/EagleRoot/Configuration/Common/ParserSchema_CERR.ecs, IsCorrection=false, xes_msg_srcname=JMS Inbound}, output-name=data}
2012-05-09 10:32:05.287 | SYNC  | 00052 | DEBUG   | EUO_Main Remittance Flow | Exchange        | Exchange processing completed          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000003  | subroute.processor:Original Data Processing | {previous-component=Data Type, exchange-properties={Format=5010, DataType=CP, TR_EUO_SubscriberSwitch=SB, tpm_relationship_sender_ID=100001, tpm_relationship_receiver_EXTERNAL_ID=GREATPLAINGROUP, EUO_CR_UseSubmittedClaimID= Yes, EUO_MapName=${EagleRoot\Artifacts\Maps\Edifecs\ECR-835_5010A1.ems}, TR_EUO_PayToProviderNPISwitch=SS, TR_EUO_SenderID=HEALTHYLIFEPLAN, tpm_relationship_sender_IS_INTERNAL=true, SenderIdentifier=MS, TR_EUO_SendClearinghouseTraceNumber=false, tpm_relationship_receiver_NAME=Great Plains Group, xes_msg_srcname=JMS Inbound, PaymentId=IUxBNzKlZfghcMxf101209090000024_112345i123451234511, TR_EUO_ReceiverIDQualifier=ZZ, OriginalClaimId=1_pzDBNy5MMl0BteEN000, BAMSystemID=A1F8D828-15D0-4DE2-8B6E-672BD8D704B8, ReceiverIdentifier=GREATPLAINGROUP, TR_EUO_ReceiverID=GREATPLAINGROUP, tpm_relationship_sender_BUSINESS_ROLE_NAME=Community Owner, TR_EUO_ClaimRemittanceGenerationLocation=MS, tpm_relationship_receiver_ID=100910, TR_EUO_BackfillVersionName=original, RemittanceId=IUxBNzKlZfghcMxf101209090000024_1, TR_EUO_SenderIDQualifier=ZZ, TR_EUO_RenderingProviderDataSwitch=SS, tpm_relationship_BUSINESS_DOCUMENT_NAME=ClaimRemittance, tpm_relationship_TR_ID=316, IsPaymentExists=IUxBNzKlZfghcMxf101209090000024_112345i123451234511, DeliverySchedule=immediate, InternalClaimId=12345i1234512345, ResultCount=0, ClaimProcessorID=MHS System Manager V6.0.0 Copy, RemitProcessingID=8003D1A3-E378-482D-86AF-3D2C4488C5FE, TR_EUO_BillingProviderDataSwitch=SS, TR_EUO_BillingProviderOtherIdentifierSwitch=SS, tpm_relationship_sender_NAME=CIGNA, tpm_relationship_MODE=Batch, tpm_relationship_DIRECTION=Outbound, TR_EUO_CIGNA_CROSSWALK_ID=MS, EUO_ClaimProcessorID=MS, BusinessDocument=ClaimRemittance, IsHeader=false, _ReceiverETIN=NULL, ParserSchema=/app1/edifecs/EagleRoot/Configuration/Common/ParserSchema_CERR.ecs, tpm_relationship_METHOD=Direct, tpm_relationship_ENVIRONMENT_NAME=Production, tpm_relationship_receiver_BUSINESS_ROLE_NAME=Provider, ReceiverETIN=GREATPLAINGROUP, tpm_relationship_receiver_IS_INTERNAL=false, tpm_relationship_sender_EXTERNAL_ID=null, TR_EUO_OutboundDataSwitchLocation=TradingPartner\Outbound\DataSwitch, ClaimSystemID=MS, TR_EUO_RenderingProviderOtherIdentifierSwitch=SS, TR_EUO_ServiceFacilityNPISwitch=SS, tpm_relationship_IS_RESOLVED=true, tpm_relationship_found=true, IsCorrection=false, TR_EUO_PatientSwitch=SB}, output-name=CP}
2012-05-09 10:32:05.288 | SYNC  | 00052 | DEBUG   | EUO_Main Remittance Flow | Exchange        | Exchange processing completed          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000003  | eip.router:Data Type                | {}
2012-05-09 10:32:05.289 | SYNC  | 00052 | DEBUG   | EUO_Main Remittance Flow | Exchange        | Exchange processing completed          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000003  | eip.router:Action                   | {}
2012-05-09 10:32:40.062 | SYNC  | 00052 | DEBUG   | EUO_Main Remittance Flow | Exchange        | Exchange processing completed          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000005  | subroute.processor:Original Data Processing | {}
2012-05-09 10:32:40.063 | SYNC  | 00052 | DEBUG   | EUO_Main Remittance Flow | Exchange        | Exchange processing completed          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000005  | eip.router:Data Type                | {}
2012-05-09 10:32:40.064 | SYNC  | 00052 | DEBUG   | EUO_Main Remittance Flow | Exchange        | Exchange processing completed          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000005  | eip.router:Action                   | {}
2012-05-09 10:32:40.274 | SYNC  | 00052 | DEBUG   | EUO_Main Remittance Flow | Exchange        | Exchange processing completed          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000001  | subroute.processor:Claim Remit Processor | {}
2012-05-09 10:32:40.276 | SYNC  | 00052 | DEBUG   | EUO_Main Remittance Flow | Exchange        | Exchange processing completed          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000000  | service.adapter:UCF Version Creator | {}
2012-05-09 10:32:40.277 | SYNC  | 00042 | DEBUG   | EUO_Main Remittance Flow | Task            | Task completed on a component          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | scriptrunner:Copy Msg Props to Exchange | {}
2012-05-09 10:32:40.277 | SYNC  | 00042 | DEBUG   | EUO_Main Remittance Flow | Task            | Task completed on a component          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | eip.router:Action                   | {}
2012-05-09 10:32:40.277 | SYNC  | 00042 | DEBUG   | EUO_Main Remittance Flow | Task            | Task completed on a component          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | eip.router:Data Type                | {}
2012-05-09 10:32:40.278 | SYNC  | 00042 | DEBUG   | EUO_Main Remittance Flow | Task            | Task completed on a component          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | subroute.processor:Claim Remit Processor | {}
2012-05-09 10:32:40.278 | SYNC  | 00042 | DEBUG   | EUO_Main Remittance Flow | Task            | Task completed on a component          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | service.adapter:UCF Version Creator | {}
2012-05-09 10:32:40.278 | SYNC  | 00042 | DEBUG   | EUO_Main Remittance Flow | Task            | Task completed on a component          | F7852A81-1BE0-42D6-83E1-8DAADF816CEC          | subroute.processor:Original Data Processing | {}

Its not giving proper output even for this part.
Please try it at your end and share the output.

what does 0000003 in "F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000003" signify?
since some process having same 8th field but different extra code attached.

The problem is same some process are in multiple

0000003 in "F7852A81-1BE0-42D6-83E1-8DAADF816CEC-0000003"
is just an extra data attached. We need not focus on this. We just have to consider first 36 characters. Whatever they may be


filesystem:CERR                     ::1  B678C56D-96DA-4FFC-B40E-9A032A2EB12E           42263
 xengine:Validation, Split           ::1  B678C56D-96DA-4FFC-B40E-9A032A2EB12E           42242
 xengine:CERR to ECR CF              ::1  B678C56D-96DA-4FFC-B40E-9A032A2EB12E           15961
 service.adapter:UCF Version Creator ::1  B678C56D-96DA-4FFC-B40E-9A032A2EB12E           1560
 jms:Send to Remit Splits            ::1  B678C56D-96DA-4FFC-B40E-9A032A2EB12E           400
 filesystem:Reports_5                ::1  B678C56D-96DA-4FFC-B40E-9A032A2EB12E           249
 jms:JMS Inbound                     ::1  F7852A81-1BE0-42D6-83E1-8DAADF816CEC           190218
 scriptrunner:Copy Msg Props to Exchange ::1  F7852A81-1BE0-42D6-83E1-8DAADF816CEC           190215
 service.adapter:UCF Version Creator ::2  F7852A81-1BE0-42D6-83E1-8DAADF816CEC           189643
 subroute.processor:Claim Remit Processor ::1  F7852A81-1BE0-42D6-83E1-8DAADF816CEC           189501
 eip.router:Action                   ::1  F7852A81-1BE0-42D6-83E1-8DAADF816CEC           157766
 eip.router:Data Type                ::1  F7852A81-1BE0-42D6-83E1-8DAADF816CEC           157763
 subroute.processor:Original Data Processing ::1  F7852A81-1BE0-42D6-83E1-8DAADF816CEC           157761

is this output correct for your latest set of data

Yes this is correct.

Did you make any changes in the code?

yes. This is new code

awk -F"|" '
BEGIN{i=1}
($7 ~ /Task started on a component/){	if(!f[$9])
						{	f[$9]=1;
							y=substr($9,1)"::"substr(f[$9],1);
							a[y]=$1;
							b[y]=$8;
							c=y;
							i++
						}
					else
						{
							f[$9]=f[$9]+1;
							y=substr($9,1)"::"substr(f[$9],1);
							a[y]=$1;
							b[y]=$8;
							c=y;
							i++
						}
				}
($7 ~ /Exchange processing completed|Task completed on a component/){if(f[$9])
									{
										y=substr($9,1)"::"substr(f[$9],1);
										d[y]=$1
									}
								}
END{for (j=1;j<i;j++){	if(a[c[j]]&&d[c[j]])
				{
					split(a[c[j]],s_tm," ");split(d[c[j]],e_tm," ");
					x=((substr(s_tm[2],1,2)*3600)+(substr(s_tm[2],4,2)*60)+substr(s_tm[2],7,2))*1000+substr(s_tm[2],10,3);
					y=((substr(e_tm[2],1,2)*3600)+(substr(e_tm[2],4,2)*60)+substr(e_tm[2],7,2))*1000+substr(e_tm[2],10,3);
					split(c[j],z,"::");
					print z[1]" "b[c[j]]" "y-x
				}
			}
}' inputfile
1 Like