У меня есть простой текстовый файл с закладками информации, внутри которой выглядят следующим образомLoop через закладки данных и получить блоки segemented информации
ADVMONITOR "WINOSSPI-RPCService-Win2k"
DESCRIPTION "Checks the 'Remote Procedure Call (RPC)' Windows 2000 service and its corresponding process"
INTERVAL "5m2s"
SCRIPTTYPE "VBScript"
MULTISOURCE
INSTANCEMODE ONCE
MAXTHRESHOLD
SEPARATORS " "
ICASE
PROGRAM "Process"
DESCRIPTION "Returns the number of running 'svchost.exe' processes;"
MONPROG "opcntprocs.exe WINOSSPI-RPCService-Win2k-Process svchost"
PROGRAM "Service"
DESCRIPTION "Returns values that correspond to different states of the service 'RPC Service'"
MONPROG "opcntservice_chk.bat RpcSs WINOSSPI-RPCService-Win2k-Service"
MSGCONDITIONS
INSTANCERULE "Combined Service and Process Monitor; suppress messages caused by same case;"
ID "d5ca6823-37d4-4581-886a-2aad3462d9e0"
DESCRIPTION "Checks the services and processes"
CONDITION_ID "0cdb88dd-0338-47d3-a5f5-e4d982e8a1a9"
CONDITION
И что мне нужно, чтобы получить информацию от каждого отдельного блока на пути что я могу импортировать такую информацию в db, но я не могу получить хорошую итерацию через разные блоки, чтобы получить нужные данные из каждого блока с помощью красивой и идентифицируемой манеры.
Я попытался идентифицировать блоки в соответствии с вкладками, используя класс с именем tabbedLinesTree
, который преобразует весь текст с вкладками в XML, что тоже полезно, но разные поля не отображаются с именем полей или каким-либо другим способом идентифицировать какой блок мы проходим.
Резюмируя ... Я хотел бы, чтобы пройти через этот файл и получить (в качестве примера) для каждого блока PROGRAM
массив с именем PROGRAM
, то DESCRIPTION
MONPROG
и для этого блока ...
Не знаете, как концептуализировать это, можете ли вы, пожалуйста, помочь мне в этом с какой-либо идеей?
Я хорошо разбираюсь в PHP, но при необходимости может реализовать любое другое решение.
Пс: в некоторых блоках может быть больше вкладок или больше полей (строк) информации.
--- НИЖЕ ТЕКСТ ДОБАВЛЕНО ПОСЛЕ ОТВЕТА Найджела ---
Второй пример текста ...
SYNTAX_VERSION 5
LOGFILE "OvSvcDiscErrorLog"
DESCRIPTION "Self-Management OvService Discovery agent error log"
LOGPATH "<OvSvcDiscErrorLog>"
INTERVAL "5m"
CHSET ASCII
FROM_LAST_POS
NO_LOGFILE_MSG
CLOSE_AFTER_READ
SEPARATORS " "
MSGCONDITIONS
DESCRIPTION "[E01-001] EXCEPTION while installing policy"
SUPP_DUPL_IDENT "3m"
COUNTER_THRESHOLD 0
CONDITION_ID "17adc1d1-32cf-42ca-be5f-1cf784f19026"
CONDITION
TEXT "<*> \\[E01-001\\] EXCEPTION while installing policy <*.polname>" SEPARATORS " "
SET
SEVERITY Critical
APPLICATION "OVO/Win"
MSGGRP "OVO"
OBJECT "OvSvcDiscAgent"
TEXT "[E01-001]EXCEPTION while installing policy "`
Вы можете указать вкладки в формате входного файла? – herrjeh42
Привет, Эмилиано, этот второй пример выглядит как дерево-подобная структура. Например. 'SET' является дочерним элементом' MSGCONDITIONS', а 'SVERITY' и' APPLICATION' являются дочерними элементами 'SET'. Правильно ли это? –
эй, ребята! извините, не видел ваших последних комментариев ... Джейми, спасибо за ваш ответ, что вы имеете в виду с указанием?хотите, чтобы я выделил вкладки? Я могу это сделать. Найджел, именно это! :) – Emiliano