我正在尝试在Python中执行以下操作,还使用了一些bash脚本。除非在Python中有更简单的方法。Python脚本搜索并将结果导出到.csv文件
我有,看起来像数据的日志文件中的以下内容:
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
我需要提取每行的最后一个条目,然后使用每个独特的条目,搜索每一行,它出现在并将其导出到.csv文件。
我已使用以下bash脚本来获取每个唯一条目: cat LogFile_ date +%Y%m%d
.msg.log | awk'{print $ 14}'|排序| uniq的
基于日志文件上面的数据中,bash脚本将返回以下结果:
ABCD
EFGH
IJKL
MNOP
QRST
UVWX
YZ
现在我想搜索(或grep)来为每个结果在相同的日志文件并返回前十个结果。我有另一个bash脚本来做到这一点,但是,我怎么做这个使用循环?因此,对于x,其中x =上面的每个条目,
grep x LogFile_ date +%Y%m%d
.msg.log | awk'{print $ 7}'| sort -nr | uniq |头-10
然后将结果返回到.csv文件。结果是这样(每个字段在单独的列):
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
我在Python初学者,因为大学里没有做什么编码(13年前)。任何帮助将不胜感激。谢谢。
您的输出如何与您的输入相对应? –