Как извлечь определенное значение из коллекции текстовых файлов

StackOverflow https://stackoverflow.com/questions/4611522

Вопрос

Скажем, у меня есть коллекция текстовых файлов, которых мне нужно обрабатывать (например, поиск определенной этикетки и извлечь значение). Каким был бы общий способ решать проблему?

Я также читаю это: «Получить значения вариабели от 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, так что это далеко, насколько я могу помочь сейчас). Удачи!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top