bm_concat_logs.py
1 import sys 2 import datetime 3 4 def parse_timestamp(line): 5 timestamp_str = line.split("|")[0].strip() 6 # Remove 'Z' if present 7 if timestamp_str.endswith('Z'): 8 timestamp_str = timestamp_str[:-1] 9 return datetime.datetime.fromisoformat(timestamp_str) 10 11 def merge_logs(file1, file2, output_file): 12 with open(file1, 'r') as f1, open(file2, 'r') as f2, open(output_file, 'w') as out: 13 lines1 = f1.readlines() 14 lines2 = f2.readlines() 15 16 # Sort lines by timestamp 17 sorted_lines = sorted(lines1 + lines2, key=parse_timestamp) 18 19 for line in sorted_lines: 20 out.write(line) 21 22 if len(sys.argv) != 4: 23 print("Usage: python script.py <input_file1> <input_file2> <output_file>") 24 else: 25 merge_logs(sys.argv[1], sys.argv[2], sys.argv[3])