Парсинг из TXT определенных строк по вхождениям текста

Тема в разделе "Решение различных задач по парсингу", создана пользователем infernalrain, 21 янв 2023.

  1. infernalrain

    infernalrain New Member Пользователи

    Регистрация:
    5 янв 2016
    Сообщения:
    21
    Здравствуйте.
    У меня есть текстовые логи, в которых каждая строка начинается с даты и далее идет различная информация.
    Строка - это логирование определенных действий.
    Файл: Ссылки недоступны для гостей

    Мне необходимо "забирать" из этих файлов количество успешных совершенных действий в определенную дату.
    Делал я это очень просто: считал, сколько вхождений в файле есть по нужной мне дате

    [COUNTUP1([ENTRY][CD_DATE_DD].[CD_DATE_MM].[CD_DATE_YYYY])][DOCSOURCE][/COUNTUP1]
    DOCSOURCE -> весь текстовый фал (лог)

    Сейчас в логи стали добавляться строки с датами, но не являющиеся действиями.
    И теперь по моему шаблону эти строки тоже считаются (ну это и логично, так ка нет никаких критериев отсева).

    Как можно реализовать выбор из текстового файла строк с нужной датой + нужным вхождением?

    Второе вхождение в большинстве строк будет одинаковым и является критерием выбора строки.
    Т.е. первый критерий - дата, второй определенное слово или подстрока.

    В приложенном текстовом файле в зачет должный пойти строки 1,2,6 (т.к. в них выполнено действие и нужная дата) - Ссылки недоступны для гостей
    А строки, имеющие нужную дату дату, но не имеющие нужного действия - 3,4,7,8 - в зачет не должны идти
    Результатом парсинга этого фала должно быть значение = 3

    В какую сторону хоть смотреть? Что есть из возможностей, для выбора из файла по нужным критериям?
     
  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Проект прикрепил.
     

    Вложения:

    • FS.cdp
      Размер файла:
      42,6 КБ
      Просмотров:
      6
  3. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
  4. infernalrain

    infernalrain New Member Пользователи

    Регистрация:
    5 янв 2016
    Сообщения:
    21
    Здравствуйте.
    По данному шаблону потребовалось немного иная логика парсинга.

    Сейчас происходит подсчёт количества строк, содержащих текущую дату, из текстового файла:
    Код:
    [COUNTUP1([ENTRY][CD_DATE_DD].[CD_DATE_MM].[CD_DATE_YYYY])]
    [FIRST_REPLACE(
    [FILTERSTRINGS][CD_DATE_DD].[CD_DATE_MM].[CD_DATE_YYYY] в|keep
    [FILTERSTRINGS]UserAgent:{fsep}UA:|keep)][DOCSOURCE]
    [/FIRST_REPLACE]
    [/COUNTUP1]
    Как сделать так, что бы парсить определенные данные из строк, которые содержат текущую дату?

    Я понимаю, что вот этот код "отбирает" из всего текстового файла строки с нужной датой и нужными вхождениями в строках
    Код:
    [FILTERSTRINGS][CD_DATE_DD].[CD_DATE_MM].[CD_DATE_YYYY] в|keep
    [FILTERSTRINGS]UserAgent:{fsep}UA:|keep)][DOCSOURCE]
    Также я определил через повторяющиеся границы парсинга данные, которые нужно забирать из строк с актуальной датой.
    Код:
    <CD_CYCLE_GRAN_ALL!>
    Но никак не пойму, как сделать так, что бы повторяющиеся границы парсились именно из отфильтрованных строк, а не из всего файла. Не пойму, как составить конструкцию, что бы происходила фильтрация и уже из результата фильтрации по дате происходил парсинг.
     
  5. Funnytattoo

    Funnytattoo New Member Пользователи

    Регистрация:
    3 фев 2017
    Сообщения:
    30
    Здравствуйте, подскажите, как открыть такой .txt файл для задания границ парсинга в программе, у меня пишет
    Программе не удалось загрузить файл !

    или где об этом можно почитать, тоже нужно вытащить данные из txt

    загрузила .html на local host но пишет
    Программе не удалось загрузить WEB-страницу (Этот хост неизвестен)

    спасибо!

    нашла ответ в этой теме!
    https://forum.sbfactory.ru/threads/fajl-s-lokalnogo-diska-html.4528/
     
    Последнее редактирование: 24 ноя 2023
  6. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    приветствую, если есть время, конечно разбирайтесь, парсер идеально подходит для этого. Будут вопросы, пишите в личку, решим за деньги)))
     

Поделиться этой страницей