0

I have some log files that needs to be merged based on similar IP addresses. After merging the contents of the files need to be sorted based on time stamp.

log file 1 : Called : 10.247.11.3_Something_Something

10/15/2021 9:51:07 logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs 

10/28/2021 10:52:07 logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs 

log file 2 : Called : 10.247.11.3_Somethingelse_Somethingelse (same ip as 1)

10/16/2021 9:51:07 logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs 

10/28/2021 11:52:07 logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs 

code i have so far

import os


def getip(filename: str):
    fname = filename
    return fname.split("_")[0]


data = data2 = ""
directory = os.listdir('/Users/immam.m/Desktop/logstest')
# If the sequence automatically is the same through auto sorting
for i in range(len(directory) - 1):
    if getip(directory[i]) == getip(directory[i + 1]):
        print(directory[i] + " " + "is equal to" + directory[i + 1])
        print("Same")
        with open(directory[i]) as fp:
            data = fp.read()
        with open(directory[i + 1]) as fp:
            fp.read()
        data += "\n"
        data += data2
        with open(directory[i], 'w') as fp:
            fp.write(data)
    else:
        print(directory[i] + "NOT SAME WITH ANYTHING")

# https://stackoverflow.com/questions/13613336/how-do-i-concatenate-text-files-in-python

so far i have just managed to get the files based same ip on loop. But I am stuck trying to merge and sort the files based on timestamp. Help is much appreciated

marc_s
  • 704,970
  • 168
  • 1,303
  • 1,425
Mohammad
  • 11
  • 2
  • I would put all data in database and use SQL to work with data - sort, filter, search, etc.. OR at least I would first creat list or `pandas.DataFrame` with all data and then I would try to sort, filter, search, etc. – furas Oct 28 '21 at 18:16

0 Answers0