Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » JGsoft PowerGREP

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4

Открыть новую тему     Написать ответ в эту тему

Foss

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
По вопросам "лечения" обращайтесь в топик раздела «Варезник».

JGsoft PowerGREP
Текущая версия: 5.3.2 (08.07.2022)
Производитель: Just Great Software Co. Ltd., Jan Goyvaerts
Официальный сайт | История версий

PowerGREP - мощная программа для быстрого поиска и замены тектовых или бинарных данных в указанных файлах или папках. Умеет подсвечивать синтаксис в зависимости от формата тектового файла (HTML и т.д.), поддерживает работу с многострочными кусками текста, а также регулярные выражения. В справке программы (на английском) есть подробные примеры по созданию работающих регулярных выражений: для поиска email адресов, различного HTML редактирования, анализа логов и т.д
 
Программа распространяется в виде Demo и Retail версий.
Retail версии - это купленные версии, не требующие регистрации.
 
Имеется официальная возможность установить/создать портабельный вариант (только для ретейл-версии) подробнее...

Программы аналогичного назначения:
  • TextPipe

  • Всего записей: 1316 | Зарегистр. 15-04-2003 | Отправлено: 01:01 03-01-2015 | Исправлено: Komandor, 15:27 20-07-2022
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    krylov07,
    может проще в данном случае воспользоваться программой ugrep?
    ugrep --heading -no -w black -t text
    получите такой результат
    file1.txt
    1:black
    3:black
     
    file2.txt
    2:black

    номера строк со словом black можно убрать
    ugrep --heading -o -w black -t text
    file2.txt
    black
     
    file1.txt
    black
    black

    Всего записей: 7322 | Зарегистр. 08-09-2001 | Отправлено: 13:01 22-04-2021 | Исправлено: los, 13:02 22-04-2021
    krylov07

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Правильно ли я понял, что PowerGrep с такой задачей не справится?
     
    Вообще это странно, вполне себе естесственно. Ну еще пример:
    есть много файлов .txt. В них имеются строки, в которых содержится информации об объеме, т.е. внутри строки есть "VOLUME=". Интересует слово справа (или все строки, все равно) в одном выходном файле:
     
    строка VOLUME=xxx1 <filename1>
    строка VOLUME=xxx2 <filename2> ...
     
    Без вывода имени файла - нет проблем

    Всего записей: 139 | Зарегистр. 07-05-2007 | Отправлено: 08:05 23-04-2021
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Правильно ли я понял, что PowerGrep с такой задачей не справится?  

    неправильно


    Всего записей: 7322 | Зарегистр. 08-09-2001 | Отправлено: 10:25 23-04-2021
    krylov07

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Большое спасибо, los, за ответ
     
    Но, как я уже писал в первом сообщении, хотелось бы для чайника.
     
    Если точнее, все в Results выставил, но получилось как всегда: в выходном файле - только сами строки, а какая строка какому исходному файлу принадлежит - непонятно. Если есть фозможность, был бы признателен за настройку всех опций, а не только опции в Results
     

    Всего записей: 139 | Зарегистр. 07-05-2007 | Отправлено: 11:02 23-04-2021
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    krylov07,
    все настройки стандартные, кроме отображения пути. Остальные настройки вы видите на картинке. Что именно у вас не так?

    Всего записей: 7322 | Зарегистр. 08-09-2001 | Отправлено: 11:42 23-04-2021
    HastaLuego

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, такой вопрос.  
    1.На странице есть строчка, из которой с помощью регулярного выражения получаем подстроку. Подстроку заносим в переменную.  
    Далее идут замены, эту переменную надо вставлять в заменяемый текст.
    В пгрепе нигде не нашел ничего похожего, слепил код на php, обошелся где-то в 40 строк, из которых моих штук 5, остальное -рекурсивный обход папок, взял из справки по пхп.  
     
    На паваргрепе возможно такое же сделать?  
     
    2. И еще, у меня есть текст между тегами  <script  ...> и </script> , его надо удалить в зависимости от наличия\отсутствия ключевых слов. Возможно ли это реализовать в пгрепе?  
     
     
    3. Можно ли реализовать поиск текста в html между соответствующим тегами, как в jQuery, или ванильном жаваскрипте в браузере, или опять придется извращаться на php? В текстовом формате я уже сделал поиск соответствующих тегов на джаве как в браузере, как это получить в грепе?

    Всего записей: 7 | Зарегистр. 30-01-2010 | Отправлено: 03:11 28-11-2022
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    HastaLuego
    Описанные вам "фишки", в том или ином виде присутствуют в PG.
    Но, самое важное, судя по всему вам требуется то, что не делается с помощью регулятивных выражений. А именно парсинг HTML.
    Мне кажется, особенно в контексте пункта 3 вашего списка, требуется использовать NodeJS + модуль Cheerio, который как раз работает на основе синтаксиса jQuery.

    Всего записей: 1326 | Зарегистр. 03-03-2008 | Отправлено: 14:37 28-11-2022
    HastaLuego

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
     
    В регулярке есть замена с функцией, с ее помощью я реализовал поиск matching tags, работает в акельпаде, есть и на браузере. Похожее повторил на пхп, но там с сожалению не передаются индекс найденного текста, т.е. его оффсет. Пришлось делать через маtch, сегодня написал, но довольно скудно пока ищет по тегу и атрибуту типа class="touchmenot", это был тихий ужос, все выглядело красиво и логично, а когда запустил, ничего не работало, пришлось поизвращаться, вылезли подводные камни, о которых я и не подозревал, оказалось что переменная не работает в строке поиска, если до нее стоит фигурная скобка, а после квадратная, сцепил через точку, все заработало.  
    В переспективе хочеться сделать чтобы искало как в жаваквери, выражения типа  
    class^="startsting", class*="containsString" итп. Ну это я размечтался. Кстати, на пхп работает довольно шустро 1 гигабайт, 36 тыс файлов быстрее чем за 5 минут. Кстати, на гитхабе есть готовый код. Если его слегка доработать, будет вещь помощнее. Иногда самому написать код проще чем разбираться в такой мудреной программе. Sed говорят еще быстрее.  

    Всего записей: 7 | Зарегистр. 30-01-2010 | Отправлено: 03:41 29-11-2022 | Исправлено: HastaLuego, 03:44 29-11-2022
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    HastaLuego
    Это вообще-то оффтоп здесь злостный. Но подобные вопросы появляются регулярно.
     
    Всё, что я хочу сказать, это донести простую истину, аксиому, если хотите. С помощью регулярных выражений HTML распарсить невозможно.
    Я предложил вам инструмент, быстрый, удобный, надёжный - Связку NodeJS  и Cheerio. Последний специально создан для именно этой задачи. Его преимущества:
     
    - 100% консистентный парсинг HTML с помощью модуля parse5.
    - широкая поддержка селекторов jQuery и не только селекторов, но и методов, которые, так же как и в самом jQuery, чейнятся.
    - высокая скорость работы.
     
    Конечно, есть подобные альтернативы и для Питона , и для прочих языков. Но, если уж вы знакомы с jQuery, то логично предположить, что JS вам тоже не чужд.
    Для пакетной обработки файлов в папке вот простой сниппет. Просто напишите свою логику обработки в функции dataLoaded.
    Здесь подробнейшая документация по Cheerio.
    Удачи!
     

    Всего записей: 1326 | Зарегистр. 03-03-2008 | Отправлено: 16:26 29-11-2022
    D1D1D1D

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет. В PG есть %MATCHTERMN% — расстановка последовательных номеров. Поддерживается ли ширина для этих чисел, — то есть, не первое, а второе? —

    Код:
    1, 2, 3...  


    Код:
    001, 002, 003...  


    Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 23:45 25-03-2023
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    D1D1D1D
    No.
    But you can make that at least using 2-step operation after inserting the numbers.
     
    ... (uniq.separator - the mark of your number if it need)your_number .... ->  (uniq.separator)[0000000... - match enough zero] .... -> (removing all starting zeroes to the target length, for example 5 digits: ...\d+(\d{5})[^\d] to \1).
    Make a sequence from all your steps and you will have what you want.

    Всего записей: 1316 | Зарегистр. 17-01-2011 | Отправлено: 02:18 26-03-2023 | Исправлено: Jonmey, 02:18 26-03-2023
    D1D1D1D

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть ли в PG функция захвата парного тега для указанного? Определить парный тег какого-либо тега? На скрине такой пример - https://i.imgur.com/qYw5i3x.jpg

    Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 11:45 01-05-2023
    D1D1D1D

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как в PG отобразить файлы, в которых содержится одно соответствие запросу? То есть, чтобы файлы, в которых два и более соответствий запросу, игнорировались?

    Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 03:23 06-07-2023
    www_world

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    newka

    Цитата:
    www_world, ты попугай , заладил одно и тоже ?  
    Написал что нибудь другое.
    Пример не буду давать. Эта тема для поиска программ , а не обсуждений работы того или иного софта.

    Иными словами, ваши утверждения ([1], [2]) носят не информационный, а скорее, провакационный характер, именуемый  вбросами, и ценности для читателей представлять не могут, а скорее наоборот, вводят их в заблуждение.




    Продолжение оффтопа с переходом на личности. Если предупреждения были сняты после исправления постов - это значит, нужно продолжать разборки? Мне кажется, что нет. Заканчивайте.

    Всего записей: 20 | Зарегистр. 04-11-2018 | Отправлено: 22:09 14-09-2023 | Исправлено: Maz, 08:11 15-09-2023
    D1D1D1D

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    del

    Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 01:57 28-01-2024 | Исправлено: D1D1D1D, 03:15 28-01-2024
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4

    Компьютерный форум Ru.Board » Компьютеры » Программы » JGsoft PowerGREP


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru