Я пытаюсь захватить выходные данные команды и получить каждую строку в массиве, чтобы я мог оценить положение в строке как константу, если это имеет смысл.Он будет обрабатывать вывод почти как столбцы.
Я в основном назначил вывод команды переменной и разделил ее на каждую строку.Я могу сделать раскол и получить первую «колонку», но, похоже, не могу пройти через это.
Я разбил код на разделы, чтобы показать вывод, который я вижу.Я запускаю aureport для оценки некоторых действий при входе в систему.
#!/usr/bin/python
import os
import platform
import fnmatch
import subprocess
results = subprocess.check_output("aureport -ts yesterday -te now -au -i --failed", shell=True).splitlines()
print(results)
for line in results:
print(line)
for line in results:
arg = line.split(' ')
item1 = arg[0]
print(item1)
exit(0)
Я получаю следующие результаты:
['', 'Authentication Report', '============================================', '# date time acct host term exe success event', '============================================', '1. 00/00/00 06:49:24 some_user ? host /some/command no some_pid', '2. 00/00/00 06:49:27 some_user ? host /some/command no some_pid', '3. 00/00/00 06:49:29 some_user ? host /some/command no some_pid', '4. 00/00/00 07:10:44 some_user ? host /some/command no some_pid', '5. 00/00/00 07:10:49 some_user ? host /some/command no some_pid', '6. 00/00/00 07:10:53 some_user ? host /some/command no some_pid', '7. 00/00/00 07:11:14 some_user ? host /some/command no some_pid', '8. 00/00/00 07:11:16 some_user ? host /some/command no some_pid', '9. 00/00/00 07:11:25 some_user ? host /some/command no some_pid', '10. 00/00/00 06:19:44 some_user ? host /some/command no some_pid', '11. 00/00/00 06:19:47 some_user ? host /some/command no some_pid', '12. 00/00/00 06:20:59 some_user host command /some/command no some_pid', '13. 00/00/00 06:21:01 some_user ::1 command /some/command no some_pid']
Authentication Report
============================================
# date time acct host term exe success event
============================================
1. 00/00/00 06:49:24 some_user ? host /some/command no some_pid
2. 00/00/00 06:49:27 some_user ? host /some/command no some_pid
3. 00/00/00 06:49:29 some_user ? host /some/command no some_pid
4. 00/00/00 07:10:44 some_user ? host /some/command no some_pid
5. 00/00/00 07:10:49 some_user ? host /some/command no some_pid
6. 00/00/00 07:10:53 some_user ? host /some/command no some_pid
7. 00/00/00 07:11:14 some_user ? host /some/command no some_pid
8. 00/00/00 07:11:16 some_user ? host /some/command no some_pid
9. 00/00/00 07:11:25 some_user ? host /some/command no some_pid
10. 00/00/00 06:19:44 some_user ? host /some/command no some_pid
11. 00/00/00 06:19:47 some_user ? host /some/command no some_pid
12. 00/00/00 06:20:59 some_user host command /some/command no some_pid
13. 00/00/00 06:21:01 some_user ::1 command /some/command no some_pid
Authentication
============================================
#
============================================
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Я хотел бы создать некоторые оценки (какпример) 'столбец' в выводе, который показывает 'нет' и затем выводит вывод из остальной части строки.Пример: if arg[7] == 'no': print(arg[4])
То, что я не могу обернуть головой, это вычисление результата построчно, поэтому arg [7] всегда ссылается на столбец «нет» и т. Д. Мне удалосьполучить только первый столбец, разделив пробел, но я уверен, что это совпадение:)