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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    DrAlexMD

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Спасибо за подсказку.
    Вот как раз забыл уточнить насчет PowerGrep ии списка замен из файла - я затягиваю файл со списком замен в окно (или поиска, или замены), но он полностью переносится без разделения колонок соответственно на поиск/замена.
    У PowerGrep интерфейс несколько тяжелый для восприятия.

    Всего записей: 174 | Зарегистр. 31-03-2005 | Отправлено: 19:55 24-10-2016
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DrAlexMD
     
    Про PowerGREP здесь оффтоп. Поэтому больше отвечать на счёт него не буду.
    Для того, чтоб можно было работать со списком замен, опцию Search type нужно выставить в Delimited literal text. Вставлять из буфера обмена уже с разделителями.
     
    С этой программой без справки никуда. Как и с TextPipe, впрочем. Благо есть библиотека с настроенными Actions. Пробуйте, тестируйте, читайте справку. Обращайте внимание на комментарии, которые появляются справа при наведении мыши на те или иные элементы интерфейса.
    Понимание приходит с опытом...

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 20:22 24-10-2016
    evoroz



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

    Цитата:
    Называется "Rename files based on HTML title tags".

    В TextPipe есть фильтр под названием "rename files according to contents.fll" на эту же тему.

    Всего записей: 3487 | Зарегистр. 30-03-2002 | Отправлено: 22:08 24-10-2016
    DrAlexMD

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    evoroz
    Уже обсуждали, пытался тогда, когда первый раз спрашивал - никак. В Power Grep вот все сделалось как надо без всяких заморочек.

    Всего записей: 174 | Зарегистр. 31-03-2005 | Отправлено: 20:10 25-10-2016
    kvazigorynich

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Пытаюсь замену сделать в бинарных файлах. Имеется csv файл такого содержания.
     
    много букв
     
    Большая часть файлов изменяется правильно. Но почему-то в некоторых файлах замена происходит непостижимым для меня образом. Вместо замены 9B на 9С происходит замена 9B на 8С. Это в пакетном режиме.
     
    Если оставить в csv файле для замены только, то все нормально заменяется.

    Код:
    \x00\x00\x01\x00\x00\x00\x9B\x00\x00\x00,\x00\x00\x01\x00\x00\x00\x9C\x00\x00\x00

     
    Пробовал галку simulatenous search. Не помогает. Самое интересное, что в списке замены нет значения 8C вообще.
     
    Никак не пойму в чем беда.
     
    Обновлено: Пришлось воспользоваться нелюбимой мной PowerGrep. Все как надо получилось.

    Всего записей: 794 | Зарегистр. 06-09-2007 | Отправлено: 12:23 05-11-2016 | Исправлено: kvazigorynich, 13:23 05-11-2016
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kvazigorynich
    Надо конкретный проект смотреть что к чему.  
    Только с csv так? Из интерфейса замены ведут себя также?
    И еще, с галкой simulatenous search и без это принципиально разные виды замен. Тем более, что секция search иногда совпадает с replace из другой пары.
    Посмотрите справку по этому моменту. Там показано на примере как это работает.
     
    P.s. И да, этот фильтр очень капризный. Ещё надо смотреть (не Ваш случай), чтоб в замена х не было конструкции @word, иначе это будет воспринято как макрос. Актуально, также и для других фильтров с замен ами.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 22:42 05-11-2016 | Исправлено: Romul81, 22:43 05-11-2016
    kvazigorynich

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Пробовал списком фильтров сделать, тоже какие-то странные результаты получил. Я специально отсортировал регулярные выражения, чтобы не получилось так, что замена произошла бы несколько раз по уже измененным данным. Пробовал импортировать из буфера в табличку, вместо выбора csv-файла. Не помогло. Вроде все возможные варианты перепробовал. Наверное косяк где-то у меня, но мне надоело возиться с пайпом. Поэтому попробовал в грепе сделать. Все с первого раза вышло. Все исходные данные были идентичными.
     
    Заметил вот какую особенность. Если включал Case Sensitive, то фильтр просто не находил проблемные данные и не изменял их.

    Всего записей: 794 | Зарегистр. 06-09-2007 | Отправлено: 11:15 09-11-2016 | Исправлено: kvazigorynich, 11:25 09-11-2016
    seodamage666

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

    Всего записей: 2 | Зарегистр. 27-01-2017 | Отправлено: 02:08 28-01-2017
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    seodamage666
    Возможно дело в неоптимизированности встроенного фильтра для больших объёмов данных.
    Могу порекомендовать поэкспериментировать в следующем направлении:
     
    Отсортируйте файл скриптом Perl в алфавитном порядке. Сниппеты есть в инете. Можно сделать в самом TP, в разделе Script (должен быть установлен Perl, лучше от Active), но скрипт надо переписать с учётом наименований переменных TP (см. справку и встроенные примеры).
     
    Далее, примените следующую обработку (регэксп):
     
    Найти: (?Uim-s:^(.*?)(\r?\n\1)+?$)
    Заменить: $1
     
    Дело в том, что у Perl есть встроенная оптимизация сортировки, что на больших файлах может дать кратный прирост скорости. А второй этап обработки (регулярка) - достаточно лёгкая процедура.
     
    З.Ы. Сам не тестировал.
     
    Добавлено:

    Цитата:
    Поставил Игнорировать Регистр букв поидее быстрее должно быть

    Во-первых, это не быстрее, а наоборот, а во-вторых серьёзно повлиять на скорость не может.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 00:42 30-01-2017
    AntikillerPM

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите как и какой фильтр применить для в файлов htm если необходимо удалить данные которые находятся между двумя уникальными элементами. Например удалить всё что есть между  <TR>
        <TD  
        style="PADDING  
     
    и
     
    </TD></TR><

    Всего записей: 303 | Зарегистр. 01-05-2009 | Отправлено: 10:32 28-02-2017
    Romul81



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

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 14:47 28-02-2017
    Foss

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AntikillerPM
    Например, Replace - Perl pattern:
    [\n\r\t ]*<TR>[\n\r\t ]*<TD[\n\r\t ]*style="PADDING[\n\r\t ]*.*[\n\r\t ]*</TD>[\n\r\t ]*</TR>[\n\r\t ]*<
    Replace with: не знаю, что вы хотите - удалить вместе с этими тегами или оставить эти теги. Еcли вместе с тегами - то оставить пустым или вместо Replace выбрать опцию Remove.

    Всего записей: 1316 | Зарегистр. 15-04-2003 | Отправлено: 21:09 28-02-2017
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AntikillerPM
    Foss
     
    Тогда уже лучше с рекурсией, если есть вложенные таблицы:
     

    Код:
    <TR>\s*<TD[^>]*?style="PADDING[^>]*?>([^<]+|<(?!/?TD[^>]*>)|<TD[^>]*>(?>(?1))*</TD>)*</TD>\s*</TR>

     
    Только нужно режим регулярного выражения поменять на жадный (greedy) и увеличить размер буфера.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 22:26 28-02-2017
    Foss

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

    Цитата:
    Тогда уже лучше с рекурсией, если есть вложенные таблицы:  
     
     

    Код:
    Код:<TR>\s*<TD[^>]*?style="PADDING[^>]*?>([^<]+|<(?!/?TD[^>]*>)|<TD[^>]*>(?>(?1))*</TD>)*</TD>\s*</TR>  

     
     
    Только нужно режим регулярного выражения поменять на жадный (greedy) и увеличить размер буфера.

    Вот простенкий файл
    http://www28.zippyshare.com/v/nfClGXq5/file.html
    Сравните результат ваших настроек с предложенными мною.

    Всего записей: 1316 | Зарегистр. 15-04-2003 | Отправлено: 23:33 28-02-2017
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Foss
    Не совсем понятно, Что Вы хотели сказать. Моя регулярка тоже отрабатывает предложенный Вами HTML, несмотря на то, что он невалидный.
    Я поэтому и спросил AntikillerPM по поводу реального примера, т.к., если в ячейках будет ещё один/несколько уровней вложенности TABLE-TR-TD, то Ваша регулярка отработает некорректно, в отличие от предложенной мною, которая проверяет открывающие / закрывающие теги рекурсивно. К тому же эта часть [\n\r\t ]*.*[\n\r\t ]* в вашей регулярке несколько бессмысленна, хоть это и не критично.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 00:55 01-03-2017
    Foss

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

    Цитата:
    Не совсем понятно, Что Вы хотели сказать. Моя регулярка тоже отрабатывает предложенный Вами HTML, несмотря на то, что он невалидный.  
    Я поэтому и спросил AntikillerPM по поводу реального примера, т.к., если в ячейках будет ещё один/несколько уровней вложенности TABLE-TR-TD, то Ваша регулярка отработает некорректно, в отличие от предложенной мною, которая проверяет открывающие / закрывающие теги рекурсивно. К тому же эта часть [\n\r\t ]*.*[\n\r\t ]* в вашей регулярке несколько бессмысленна, хоть это и не критично.

    Если непонятно, то выложите свой файл (.fll) с настройками, которые вы привели выше. Разговор перейдет в предметную область.

    Всего записей: 1316 | Зарегистр. 15-04-2003 | Отправлено: 01:12 01-03-2017
    Romul81



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

    Цитата:
    выложите свой файл (.fll) с настройками, которые вы привели выше.

    Да, конечно - http://rgho.st/6PLQyDf2f
    В качестве примера использован Ваш HTML.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 01:22 01-03-2017
    Foss

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Romul81
    В ваших настройках - порядок. Ошибка в настройках, когда воспроизводил их по вашему описанию  - лишний символ, хотя вроде копипастил (может не заметил, как кошка топтонула клавиатуру).

    Всего записей: 1316 | Зарегистр. 15-04-2003 | Отправлено: 01:43 01-03-2017
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Foss
    ОК.
    Советую взять эту регулярку на заметку - ещё не раз пригодится

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 01:46 01-03-2017
    AntikillerPM

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

    Цитата:
    Приведите конкретный пример кода, который нужно удалить. Имеется в виду теги, текстовый контент можно опустить.

    1. удалить текст между кодом
    От кода:
     
    <TABLE>
      <TBODY>
      <TR>
        <TD  
        style="PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0cm; WIDTH: 271.8pt; PADDING-TOP: 0cm"  
        vAlign=bottom><B><SPAN lang=RU  
          style="mso-bidi-font-family: Arial">999999999 99999999 </SPAN></B></TD>
     
    удалить до кода включая сам код:
     
    </TD></TR></TBODY></TABLE><SPAN></SPAN>
     
    2.  
     
    От кода:
    <TR>
        <TD  
        style="PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0cm; WIDTH: 271.8pt; PADDING-TOP: 0cm"  
        vAlign=bottom><B><SPAN lang=RU  
          style="mso-bidi-font-family: Arial">999999999 999999 9999999999 9999999  
          </SPAN></B></TD>
     
    удалить до кода включая сам код:
     
        <TD align=middle><I><SPAN lang=RU  
          style="FONT-SIZE: 10pt; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">инициалы,  
          фамилия </SPAN></I></TD></TR>
     

    Всего записей: 303 | Зарегистр. 01-05-2009 | Отправлено: 04:01 01-03-2017
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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