У меня есть вывод скрипта python, подобный этому
client:"A"
Total number of keys discovered: 22
Execution finished. Total time: 0:00:05.361506
Key: 'caJ8ArNRvefgdfgbdhfdbfdbf' | Cannot flip key due to
feature1 being enabled
Key: 'caixF0Nmdfjdfdbfdgdbgdnmjdfs' | Cannot flip key due to
feature1 being enabled
Total keys: 22 | Keys that Application can serve: 20 | Keys that Application can't serve: 2
Execution finished. Total time: 0:00:33.796226
client:"B"
Total number of keys discovered: 13
Execution finished. Total time: 0:00:05.539271
Total keys: 13 | Keys that Application can serve: 13 | Keys that Application can't serve: 0
Execution finished. Total time: 0:00:20.573984
Я хочу использовать «Ключи, которые приложение не может обслуживать: 2», это число в скрипте Python. Мне нужно что-то, что поможет мне найти количество ключей, которые не могут быть обслужены, и использовать его как переменную в моем скрипте.
Да, я хочу что-то вроде grep, но в python мне нужно запустить скрипт python для отказавших клиентов. Поэтому я пытаюсь найти способ просто отслеживать неудачных клиентов из стандартного вывода.
В этом случае, я чувствую, что вы можете просто написать простой if
условный оператор, который будет срабатывать, когда вы запускаете/распечатываете «Невозможно перевернуть ключ из-за ...», и подсчитать количество раз, когда это условие встретится. Затем оттуда вы можете распечатать утверждение «Ключи, которые приложение не может обслуживать: X», где X — количество элементов. Вы не можете отредактировать скрипт Python, который выводит этот вывод выше?
Нет, у меня нет доступа для редактирования этого скрипта. Я просто могу использовать его вывод
Предположим, у вас есть этот вывод в виде текстового файла.
$ cat output.txt
# client:"A"
# Total number of keys discovered: 22
# Execution finished. Total time: 0:00:05.361506
# Key: 'caJ8ArNRvefgdfgbdhfdbfdbf' | Cannot flip key due to
# feature1 being enabled
# Key: 'caixF0Nmdfjdfdbfdgdbgdnmjdfs' | Cannot flip key due to
# feature1 being enabled
# Total keys: 22 | Keys that Application can serve: 20 | Keys that Application can't serve: 2
# Execution finished. Total time: 0:00:33.796226
# client:"B"
# Total number of keys discovered: 13
# Execution finished. Total time: 0:00:05.539271
# Total keys: 13 | Keys that Application can serve: 13 | Keys that Application can't serve: 0
# Execution finished. Total time: 0:00:20.573984
Затем вы можете использовать awk
и запустить эту строку, чтобы получить желаемый результат.
awk 'BEGIN { FS = ":" } /client/ { print $2 } /serve/ { print $NF }' output.txt > client.txt
cat client.txt
# "A"
# 2
# "B"
# 0
Затем вы можете использовать файл client.txt
и прочитать его в Python примерно так.
with open('client.txt') as fh:
for line in fh.readlines():
print(line.replace('\"', '').strip())
# A
# 2
# B
# 0
Непонятно, что вам нужно. Похоже, вы можете использовать свой скрипт Python, чтобы отслеживать, какие ключи «не могут служить», а затем использовать их в своем скрипте. Поэтому неясно, зачем вам нужно использовать grep, если у вас уже есть Python.