Я получил этот файл с этим шаблоном информации:
# Query 1: 204.60k QPS, 230.79x concurrency, ID XXXXXXXXXX at byte 19XXX9318
# This item is included in the report because it matches --limit.
# Scores: V/M = 0.00
# Time range: 2020-01-29 18:18:59.073995 to 18:18:59.074005
# Attribute pct total min max avg 95% stddev median
# ============ === ======= ======= ======= ======= ======= ======= =======
# Count 7 2
# Exec time 10 2ms 1ms 1ms 1ms 1ms 12us 1ms
# Rows affecte 0 0 0 0 0 0 0 0
# Query size 7 74 37 37 37 37 0 37
# Warning coun 0 0 0 0 0 0 0 0
# String:
# Hosts 10.1.1.5 (1/50%), 10.8.0.2 (1/50%)
# Query_time distribution
# 1us
# 10us
# 100us
# 1ms ################################################################
# 10ms
# 100ms
# 1s
# 10s+
SHOW SESSION STATUS LIKE 'XXXXX'\G
\n break line
repeat
Я хочу запустить скрипт в python, чтобы получить только некоторую информацию из этого файла. Будет несколько запросов.
В настоящее время я пытаюсь что-то вроде этого:
#!/usr/bin/python
file = open("/etc/openvpn/logs/log-2020_01_29_06_20_PM.txt", "r")
read = file.read()
removeChar = read.replace("#", "")
for item in removeChar.split("\n"):
if "Hosts" and "Time range" in item:
print item.strip()
Вывод:
Time range: 2020-01-29 18:18:59.073995 to 18:18:59.074005
Time range: 2020-01-29 18:18:58.489162 to 18:18:59.188582
Time range: 2020-01-29 18:18:58.666020 to 18:18:58.666028
Я хочу, чтобы это было примерно так:
['Query 1, 2020-01-29 18:18:59, 10.1.1.5, 10.8.0.2, SHOW SESSION STATUS LIKE 'XXXXX'\G']
['Query 2, 2020-01-29 18:19:59, 10.1.1.5, 10.8.0.2, SHOW FROM BLA * LIKE 'BLA'\G']
Я устал пытаться найти, как это сделать, также я учу python, потому что это хороший язык для изучения! :)
Спасибо.