Как извлечь определенное значение из коллекции текстовых файлов
-
26-09-2019 - |
Вопрос
Скажем, у меня есть коллекция текстовых файлов, которых мне нужно обрабатывать (например, поиск определенной этикетки и извлечь значение). Каким был бы общий способ решать проблему?
Я также читаю это: «Получить значения вариабели от Python» но кажется, что не применимо к некоторым случаям, которые я сталкиваюсь (как tab
используется вместо :
)
Я просто хочу знать наиболее подходящий способ решать проблему независимо от используемого языка.
Скажем, у меня есть что-то вроде:
Name: Backup Operators SID: S-1-5-32-551 Caption: COMMSVR21\Backup Operators Description: Backup Operators can override security restrictions for the sole purpose of backing up or restoring files Domain: COMMSVR21
COMMERCE/cabackup
COMMSVR21/sys5erv1c3
Я хочу получить доступ к / извлекать значения Backup Operators
и получить COMMERCE/cabackup
& COMMSVR21/sys5erv1c3
взамен.
Как бы вы это сделали?
О том, о чем я думал, это прочитать весь текстовый файл, поиск Regex и, вероятно, некоторые, если иные заявления. Это эффективен? Или, может быть, расставит текстовый файл, возможно, какой-то массив и извлеките его? Я не уверен.
Как и в другом примере говорят:
GPO: xxx & yyy Servers
Policy: MaximumPasswordAge
Computer Setting: 45
Как бы вы проверили текстовый файл для Policy = MaximumPasswordAge
и вернуть ценность 45
?
Спасибо!
P / S - Я мог бы сделать это в Python (нулевые знания, поэтому выбирая его на лету) или Java
PP / S - Я только что понял, что нет метки спойлера. Хм
--
Например, журналов: журнал с разрешениями каталога:
C:\:
BUILTIN\Administrators Allowed: Full Control
NT AUTHORITY\SYSTEM Allowed: Full Control
BUILTIN\Users Allowed: Read & Execute
BUILTIN\Users Allowed: Special Permissions:
Create Folders
BUILTIN\Users Allowed: Special Permissions:
Create Files
\Everyone Allowed: Read & Execute
(No auditing)
C:\WINDOWS:
BUILTIN\Users Allowed: Read & Execute
BUILTIN\Power Users Allowed: Modify
BUILTIN\Power Users Allowed: Special Permissions:
Delete
BUILTIN\Administrators Allowed: Full Control
NT AUTHORITY\SYSTEM Allowed: Full Control
(No auditing)
Еще один со следующим:
Audit Policy
------------
GPO: xxx & yyy Servers
Policy: AuditPolicyChange
Computer Setting: Success
GPO: xxx & yyy Servers
Policy: AuditPrivilegeUse
Computer Setting: Failure
GPO: xxx & yyy Servers
Policy: AuditDSAccess
Computer Setting: No Auditing
Это вкладка разделите одну:
User Name Full Name Description Account Type SID Domain PasswordIsChangeable PasswordExpires PasswordRequired AccountDisabled AccountLocked Last Login
53cuR1ty Built-in account for administering the computer/domain 512 S-1-5-21-2431866339-2595301809-2847141052-500 COMMSVR21 True False True False False 09/11/2010 7:14:27 PM
ASPNET ASP.NET Machine Account Account used for running the ASP.NET worker process (aspnet_wp.exe) 512
Решение
Я всегда засунув питона на лица людей;)
Я рекомендую смотреть на Regex: http://docs.cython.org/howto/regex.html., как это может соответствовать вашим потребностям. Я не буду делать это для вас (потому что я не могу), но я знаю, что это будет работать, если ваши файлы разделивают колонные пары ключа / значения / значение, разделенные новыми символами Newline. Вот быстрый старт (который может работать):
regex = '(.*):( *)(.*)\n'
Это соответствует трем группам (надеюсь): группа перед толстой кишки (группа 1), пробелы (группа 2, которая может быть выброшена), а также текст между этим и новой строкой (группа 3).
Играйте с этим (я не хочу иметь Regex Aneurysm, так что это далеко, насколько я могу помочь сейчас). Удачи!