I'm trying to do the following in Python, also using some bash scripting. Unless there is an easier way in Python.
I have a log file with data that looks like the following:
16:14:59.027003 - WARN - Cancel Latency: 100ms - OrderId: 311yrsbj - On Venue: ABCD
16:14:59.027010 - WARN - Ack Latency: 25ms - OrderId: 311yrsbl - On Venue: EFGH
16:14:59.027201 - WARN - Ack Latency: 22ms - OrderId: 311yrsbn - On Venue: IJKL
16:14:59.027235 - WARN - Cancel Latency: 137ms - OrderId: 311yrsbp - On Venue: MNOP
16:14:59.027256 - WARN - Cancel Latency: 220ms - OrderId: 311yrsbr - On Venue: QRST
16:14:59.027293 - WARN - Ack Latency: 142ms - OrderId: 311yrsbt - On Venue: UVWX
16:14:59.027329 - WARN - Cancel Latency: 134ms - OrderId: 311yrsbv - On Venue: YZ
16:14:59.027359 - WARN - Ack Latency: 75ms - OrderId: 311yrsbx - On Venue: ABCD
16:14:59.027401 - WARN - Cancel Latency: 66ms - OrderId: 311yrsbz - On Venue: ABCD
16:14:59.027426 - WARN - Cancel Latency: 212ms - OrderId: 311yrsc1 - On Venue: EFGH
16:14:59.027470 - WARN - Cancel Latency: 89ms - OrderId: 311yrsf7 - On Venue: IJKL
16:14:59.027495 - WARN - Cancel Latency: 97ms - OrderId: 311yrsay - On Venue: IJKL
I need to extract the last entry from each line and then use each unique entry and search for every line and that it appears in and export it to a .csv file.
I've used the following bash script to get each unique entry:
cat LogFile_date +%Y%m%d.msg.log | awk '{print $14}' | sort | uniq
Based on the above data in the log file, the bash script would return the following results:
ABCD
EFGH
IJKL
MNOP
QRST
UVWX
YZ
Now I would like to search (or grep) for each of those results in the same log file and return the top ten results. I have another bash script to do this, however, HOW DO I DO THIS USING A FOR LOOP? So, for x, where x = each entry above,
grep x LogFile_date +%Y%m%d.msg.log | awk '{print $7}' | sort -nr | uniq | head -10
Then return the results into a .csv file. The results would look like this (each field in a separate column):
Column-A Column-B Column-C Column-D
ABCD 2sxrb6ab Cancel 46ms
ABCD 2sxrb6af Cancel 45ms
ABCD 2sxrb6i2 Cancel 63ms
ABCD 2sxrb6i3 Cancel 103ms
EFGH 2sxrb6i4 Cancel 60ms
EFGH 2sxrb6i7 Cancel 60ms
IJKL 2sxrb6ie Ack 74ms
IJKL 2sxrb6if Ack 74ms
IJKL 2sxrb76s Cancel 46ms
MNOP vcxrqrs5 Cancel 7651ms
I'm a beginner in Python and haven't done much coding since college (13 years ago). Any help would be greatly appreciated. Thanks.