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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

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

superkatya



Катька - смутьянка
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Поиск лекарств ведётся исключительно в разделе «Варезник».
TextPipe Pro
Текущая версия: 12.0 (06.06.2022)

Официальный сайт

 
Поддерживаемые ОС: Windows 10, 8, 7, Vista, 2019/2016/2012/2008/2003, x86 и x64
 
Скачать пробную версию в ZIP / в виде EXE-setup (27.5 МБ) / Список изменений
 
TextPipe Pro - утилита для пакетной обработки текстовой информации. Программа служит для форматирования и конвертирования текстовых файлов, замены в них текста, выполнения сложных преобразований, конвертирования текста из одного формата в другой.
Некоторые возможности TextPipe Pro:
• Пepepaбoтaнный пoиcк и зaмeнa в cooтвeтcтвии с заданной cxeмой. Причём можно задать как абсолютно идентичные cooтвeтcтвия, так и c нeчёткoй лoгикoй coпocтaвлeния (для иcпpaвлeния oбщeизвecтныx oшибoк нaбopa).
• Сортировка текста по алфавиту, рандомизация строк, подсчёт и удаление дублирующихся строк.
• Добавление и(или) извлечение определённых слов, строк или частей текста, как введённых вручную, так и содержащихся в любом другом текстовом файле.
• VBScript или JScript (или PerlScript, PythonScript, REXXscript и т.д.) фильтpы мoгyт быть oпиcaны c нacтpoйкoй для oбpaбoтки кaждoгo пoля.
• Пpeoбpaзoвaниe cимвoлoв кoнцa cтpoки мeждy фopмaтaми Unix, Mainframe, DOS и Macintosh.
• Преобразование текста в список слов.
• Иcпpaвлeниe зaглaвнocти бyкв (нaпpимep, sImon -> Simon), несколько видов смены регистра текста.
• Удaлeниe пpoбeлoв в нaчaлe, в кoнцe cтpoк, и yдaлeниe мнoжественных пробелов.
• Удaлeниe тэгoв HTML и XML или только их атрибутов.
• Дoбaвлeниe нyмepaции cтpoк, лeвoгo и пpaвoгo пoлeй, зaгoлoвкoв и cнocoк.
• Дoбaвлeниe или yдaлeниe cтoлбцoв тeкcтa, дoпoлнитeльныx cтpoк.
• Дoпoлнeниe или yceчeниe дaнныx пoлeй дo определённой шиpины.
• Извлeчeниe aдpecoв элeктpoннoй пoчты и URL и мнoгoе мнoгoe дpyгoe...


Полезные обучающие статьи по программе:
  • тут

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

  • Всего записей: 3232 | Зарегистр. 01-06-2001 | Отправлено: 12:58 23-06-2004 | Исправлено: vasevase, 04:43 06-04-2023
    Romul81



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

    Цитата:
    Что значит это выражение (?:\r?\n)* в PowerGrep ?  

    Это не в PowerGrep, а вообще, в регулярных выражениях. Захват переводов строк, идущих подряд. Базовый синтаксис, в общем-то.
     
    И ветка-таки по PowerGREP имеется.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 23:10 26-03-2018
    sikemo

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ?> — это цельное выражение, не создающее обратной связи (ОС). Больше о синтаксисе — wiki:Регулярные выражения

    Всего записей: 1326 | Зарегистр. 27-11-2008 | Отправлено: 23:30 26-03-2018
    Romul81



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

    Цитата:
    ?> — это цельное выражение, не создающее обратной связи (ОС)

    По-русски это называется атомарная группа (?>X*). С точки зрения функциональности это то же, что и посессивный квантификатор (сверх-жадный, супер жадный или ревнивый - как больше нравится) X*+
     
    По английски подробно здесь.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 23:40 26-03-2018
    Hjkma

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите, плиз. Есть строки в виде:

    Цитата:
     
    Name Post:
    Summary: My other photos:
     at deviantart
    Photo Url:  

    Задача: удалить строку, начинающую с Summary: и все что идет ниже до тех пор пока не будет встречена строка, начинающая с Photo Url:
    Должно остаться:  

    Цитата:
     
    Name Post:
    Photo Url:  

    Спасибо!

    Всего записей: 242 | Зарегистр. 04-03-2015 | Отправлено: 11:47 11-04-2018 | Исправлено: Hjkma, 11:47 11-04-2018
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Hjkma,
     
    Решение: Подробнее...
    Обратите внимание на настройки рег.выражения:

    Код:
    Maximum text buffer size 4096
    [X] Maximum match (greedy)
    [ ] Allow comments
    [ ] '.' matches newline
    [ ] UTF-8 Support

     
    Добавлено:
    З.Ы. В фильтре с паттерном рег. выр-я нужно выбрать опцию "Send non-matching text to subfilter", а уже в суб-фильтре Remove all.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 11:59 11-04-2018
    Hjkma

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Не получается. Сделал фильтр:

    Цитата:
    Perl pattern [[^(?:Name Post:|Photo Url.*\r?\n]] and Send non-matching to subfilter
    |  [ ] Match case
    |  [ ] Whole words only
    |  [ ] Case sensitive replace
    |  [ ] Prompt on replace
    |  [ ] Skip prompt if identical
    |  [ ] First only
    |  [ ] Extract matches
    |      Maximum text buffer size 409600000
    |  [X] Maximum match (greedy)
    |  [ ] Allow comments
    |  [ ] '.' matches newline
    |  [ ] UTF-8 Support
    |
    +--Remove all
         
     
     

    Добавил субфильтр с Send non-matching text to subfilter, там поставил действие Remove All
    На выходе получаю текст

    Цитата:
    yydvi

    А вообще-то в тексте помимо Name Post, Summary, Photo Url встречаются еще много других разных строков, так что Send non-matching text to subfilter наверное не выход, нужно просто удалить строку Summary и все что ниже, до тех пор пока они не начинаются с Photo Url. Но спасибо все равно за участие.

    Всего записей: 242 | Зарегистр. 04-03-2015 | Отправлено: 12:09 11-04-2018 | Исправлено: Hjkma, 12:20 11-04-2018
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Hjkma
    Подробнее...
    Удаляются строки только между указанных.
     
    Не надо ставить квадратные скобки вокруг регулярки. Они должны быть в таком виде:

    Код:
    ^Name Post:.*\r?\n(?:(?:(?!^Photo Url:).)*\r?\n)+^Photo Url:.*(?:\r?\n|\z)

    и  

    Код:
    ^(?:Name Post:|Photo Url:).*(?:\r?\n|\z)

    И зачем такой сумасшедший буфер? У вас что, регулярка за один раз может захватить 400 мегабайт текста?
    Остальные настройки ОК.
     
    З.Ы. Во всей иерархии фильтров стоит опция "Send non-matching text to subfilter".

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 12:34 11-04-2018 | Исправлено: Romul81, 12:37 11-04-2018
    Hjkma

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Опять ничего не получилось. Вот мой фильтр: Подробнее...
    Ввод такой

    Цитата:
    Some text
    Name Post:  
    Summary: My other photos:  
     at deviantart  
    Photo Url:  
    Some text

    На выходе:

    Цитата:
    Name Post:  
    Summary: My other photos:  
     at deviantart  
    Photo Url:  
     

    Всего записей: 242 | Зарегистр. 04-03-2015 | Отправлено: 12:49 11-04-2018 | Исправлено: Hjkma, 12:51 11-04-2018
    Romul81



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

    Цитата:
    Опять ничего не получилось.

    Причина неочевидна. У меня с этим набором фильтров и вашим примером вывод следующий:

    Цитата:
    Some text  
    Name Post:  
    Photo Url:    
    Some text

    Возможно, проблема в версии. У меня 9.7.3 ломаная.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 13:00 11-04-2018
    Hjkma

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Поставил TextPipe Pro v9.7.3 Retail из шапки варезника, сделал фильтр Подробнее...
    Ничего не изменилось, на выходе опять тот же результат. Странно что ничего не получается. Может что-то неправильно скопировал или фильтры не те, ставил только Send non-matching text to subfilter.

    Всего записей: 242 | Зарегистр. 04-03-2015 | Отправлено: 13:14 11-04-2018 | Исправлено: Hjkma, 13:15 11-04-2018
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Hjkma,
     
    http://www.mediafire.com/file/zzjld1hoi1conb0/remove_line_in_section.fll
    Отпишите потом, сработало ли.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 13:23 11-04-2018
    Hjkma

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Вот это сработало. Наверное, причина была в том, что надо было ставить на первом фильтре Send matching text, а я ставил на все фильтры Send non-matching text. Сейчас попробую на более новой версии. Спасибо!
    upd. Проверил, работает, так что дело было в фильтре, а не в версии.

    Всего записей: 242 | Зарегистр. 04-03-2015 | Отправлено: 13:27 11-04-2018 | Исправлено: Hjkma, 13:33 11-04-2018
    Romul81



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

    Цитата:
    Наверное, причина была в том, что надо было ставить на первом фильтре Send matching text

    Да, точно, это я вас дезориентировал

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 13:47 11-04-2018
    evoroz



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Мои статьи о TextPipe переехали по новому адресу -> http://digitblog.ru/index.php/textpipe
    В перспективе рассматриваю вариант объединить в виде бесплатной книги.
    Внес изменения в шапку.  
    Статьям еще некоторое время потребуется на дополнение и правку.
    Если есть предложения или замечания пишите в личку.

    Всего записей: 3487 | Зарегистр. 30-03-2002 | Отправлено: 12:55 31-05-2018 | Исправлено: evoroz, 12:56 31-05-2018
    Hjkma

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть строки содержащие, к примеру:

    Цитата:
    nice2seeewe - reblog russianstars - reblog nice2seeewe - reblog nice2seeewe - reblog

    Нужно удалить повторяющие последовательности слов в виде

    Цитата:
    слово - reblog

    Должно остаться:

    Цитата:
    nice2seeewe - reblog russianstars - reblog

    Проблема в том, что эти последовательности слов располагаются в любом порядке.
    Еще пример:

    Цитата:
    theimperfectgentleman - reblog ode2odd - reblog lucasgijander - reblog theimperfectgentleman - reblog

    Должно остаться:

    Цитата:
    theimperfectgentleman - reblog ode2odd - reblog lucasgijander - reblog

    Раньше в Notepad++ для этого использовал эту регулярку:

    Код:
    \b(\S+ - reblog)(?=.*\b\1:?)

    Корректно удаляет повторяющие последовательности слов в любом порядке. Но в TextPipe так не пашет, вернее приводит не к тому результату. Может кто подскажет нужную регулярку?

    Всего записей: 242 | Зарегистр. 04-03-2015 | Отправлено: 21:34 03-06-2018 | Исправлено: Hjkma, 21:42 03-06-2018
    Hjkma

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Еще второй вопрос. Как добавить новую пустую строку в конец файла?  
    Пробовал заменить

    Цитата:
    \z

    на

    Цитата:
    \r\n

    не работает.  
    Пробовал

    Цитата:
    $(?![\r\n])

    Результат тот же.

    Всего записей: 242 | Зарегистр. 04-03-2015 | Отправлено: 23:41 03-06-2018 | Исправлено: Hjkma, 23:41 03-06-2018
    evoroz



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

    Цитата:
    Как добавить новую пустую строку в конец файла?

    Add - File Footer и в Using this text: \r\n или ¶

    Всего записей: 3487 | Зарегистр. 30-03-2002 | Отправлено: 10:37 04-06-2018
    Romul81



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

    Цитата:
    Раньше в Notepad++ для этого использовал эту регулярку:  

    Значит должно работать и в TP. Единственное отличие (в данном контексте) - TP по умолчанию инвертирует жадность. Выставьте Default match length в свойствах регулярки в "Longest" - это вернёт стандартное поведение.
     
    evoroz

    Цитата:
    Add - File Footer и в Using this text: \r\n или ¶

    Совершенно верно, именно так это и делается.
    Добавлю только, что это работает, также для секций, не только для всего файла (если нарезка на секции производится в головном фильтре).
     
    З.Ы. И спасибо Вам за статьи по TP.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 10:46 04-06-2018
    Hjkma

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    evoroz
    Спасибо, помогло
    Romul81
    К сожалению, так не получается. Выставлял и longest и shortest. Не работает тут регулярка. Может дело в разном движке регулярных выражений: в Notepad++ используется PCRE, а в TextPipe Perl. Как приспособить регулярку к perl-pattern, не знаю. Пробовал из

    Цитата:
    \b(\S+ - reblog)(?=.*\b\1:?)

    убрать в конце

    Цитата:
    :?

    регулярка в таком виде заработала, но лишь частично, удаляется лишь одна повторяющая последовательность слов, а нужно чтобы разом все их удаляла. Как работает сама регулярка, не знаю, просто скопировал из StackOverFlow.
    Пока как костыль, сделал множество повторяющих фильтров с усеченным регексом, тогда хоть так удаляются, но все же понять бы как просто исправить одну регулярку...

    Всего записей: 242 | Зарегистр. 04-03-2015 | Отправлено: 05:30 05-06-2018 | Исправлено: Hjkma, 05:33 05-06-2018
    Romul81



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

    Цитата:
    Не работает тут регулярка. Может дело в разном движке регулярных выражений: в Notepad++ используется PCRE, а в TextPipe Perl.

    Регулярка работает. По крайней мере на вашем тестовом примере. Надеюсь, вы не забыли убрать галку с опции '.' matches new line.
     
    По поводу движка ваше утверждение не верно. TP именно что использует PCRE, так же как и Notepad++, поэтому я и написал что должно работать. Слово "perl" TP использует для простоты, т.к. не всем понятно, что такое PCRE (Perl Compatible Regular Expressions). Но даже если б он действительно использовал чистый Perl, синтаксис приведённой регулярки аналогичен для обоих диалектов. Т.е. она должна отрабатывать и там и там одинаковым образом.
     
    Если хотите сделать аналогичным образом без регулярки с лукапом, чисто за счёт фильтров, то вот вам конфа:
    Подробнее...
    Из всех дубликатов остаётся только первое вхождение.
    Не забудьте удалить квадратные скобки из регулярок.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 10:40 05-06-2018
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

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


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru