Files
2026-08-18 17:25:22 +08:00

27 lines
741 B
Python

"""Read a listener log tolerantly and print either a time window or keyword hits.
Usage:
python tmp/scan_log.py <log> --window HH:MM:SS HH:MM:SS
python tmp/scan_log.py <log> --find "key1|key2"
"""
import re
import sys
path = sys.argv[1]
mode = sys.argv[2]
with open(path, "rb") as fh:
text = fh.read().decode("utf-8", errors="replace")
lines = text.splitlines()
if mode == "--window":
start, end = sys.argv[3], sys.argv[4]
for line in lines:
stamp = line[:8]
if re.match(r"\d\d:\d\d:\d\d", stamp) and start <= stamp <= end:
print(line)
else:
keys = sys.argv[3].split("|")
for line in lines:
if any(k in line for k in keys):
print(line)