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

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

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    evoroz
    Спасибо, с несколькими $$ уже заработало. Интересно, почему создатели программы так сделали? Смысл было запутывать тех, кто в первый раз работает в программе...
     

    Цитата:
    ( : )|( / ) с заменой на пробел

    Спасибо за предложение, но все же немного не подходит, шаблон просто условен, а пробелы вокруг приведенных символов не всегда встречаются, может быть так что вокруг них могут быть только слова без пробелов. Надо бы что-нибудь другое, чтобы с именно проверкой ссылок... Как назло квантификаторы в ретроспективных проверках не работают в Perl, с ними было бы проще и можно было отсекать все символы куда надо, используя, например:

    Цитата:
    (?<!(^http\S+))[:/*?"<>|+]+

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Такой вариант.
    1. Ссылки http:// заменить на какое-либо сочетание, например, &&&
    2. Замена [:/*?"<>|+,]
    3. Возврат ссылок заменой &&& на http://

    Всего записей: 3487 | Зарегистр. 30-03-2002 | Отправлено: 13:31 25-02-2018
    Hjkma

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    evoroz
    Слэши и знаки вопроса еще могут встречаться дальше в ссылках, не подходит.

    Всего записей: 242 | Зарегистр. 04-03-2015 | Отправлено: 15:09 25-02-2018
    evoroz



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Hjkma
    Такой вариант.
    Первый perl фильтр поиск типа (https://(.*) ) т.е. гиперссылка, заканчивающаяся пробелом
    Второй perl подфильтр  \*|\?|\:|\?|\/ т.е. заменить *,?,:,/ на пробел или вообще на ничего
    В первом фильтре выбрать Action Send NonMatching text to subfilter т.е. весь текст кроме гиперссылок послать в подфильтр, где единичные символы *?:/ будут заменяться

    Всего записей: 3487 | Зарегистр. 30-03-2002 | Отправлено: 03:21 26-02-2018
    Hjkma

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    evoroz
    Способ работающий. Большое спасибо за помощь и ценную наводку! Удалось решить свою задачу.

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



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    День добрый!
     
    Подскажите, есть ли в TextPipe возможность порезать один TXT файл на несколько используя в качестве метки для разделения некоторое произвольное выражение?
     
    Например, есть TXT с таким текстом:
     
    aaaaaaaaaa
    bbbbbbbbbb
    ccccccccccc
    ===
    aaaaaaaaaa
    bbbbbbbbbb
    ccccccccccc
    ===
    aaaaaaaaaa
    bbbbbbbbbb
    ccccccccccc
     
    Нужно разрезать его на части используя "==="  как разделитель.
     
    Пробовал использовать программу ChoppingList, но она не работает с файлами большого размера (100 000 000 строк)
     
     

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 14:55 24-03-2018 | Исправлено: adgeuk, 14:57 24-03-2018
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    adgeuk, приветствую.
     
    PowerGREP вам в помощь! Там это делается просто (Split Files). Нет проблем с юникодом и ограничений на кол-во строк. + Плейсхолдеры для имён создаваемых файлов.

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



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

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 15:16 24-03-2018
    evoroz



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    adgeuk
    Есть.
    Фильтр Split Files из группы Special. Выбирается Pattern "==="
    И для вывода Output Folder надо выбрать какую-нибудь папку. Например, D:\temp  

    Цитата:
    Там это делается просто (Split Files). Нет проблем с юникодом и ограничений на кол-во строк. + Плейсхолдеры для имён создаваемых файлов.

    Тут аналогично.

    Всего записей: 3487 | Зарегистр. 30-03-2002 | Отправлено: 15:25 24-03-2018
    adgeuk



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    evoroz, отлично!
    Тогда вдогонку вопрос:
     
    Как сделать чтобы каждый вновь созданный файл именовался по образцу его первой строки?
     
    Там есть поле FILENAME и по умолчанию стоит вот такое выражение: %f.%e.%3.3d
    На что его нужно заменить?

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 15:30 24-03-2018
    Romul81



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

    Цитата:
    Тут аналогично.  

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

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 15:32 24-03-2018
    adgeuk



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

    Цитата:
    Как сделать чтобы каждый вновь созданный файл именовался по образцу его первой строки?

    А впрочем, для этого есть Advanced Renamer.
     

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 15:36 24-03-2018
    Romul81



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

    Цитата:
    Как сделать чтобы каждый вновь созданный файл именовался по образцу его первой строки?  

    Вот проект для PowerGREP, который это делает:
    http://www.mediafire.com/file/90xhzx8jiawct41/split_by_delimeter.pga
    Плюс ещё прикрутил счётчик, если вдруг первая строка будет совпадать. Если что адаптируйте под себя.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 15:54 24-03-2018
    evoroz



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

    Цитата:
    человек не знаком с программой

    Тема то про TextPipe и человек спрашивает в ней.
    Значит знаком. Может не до конца.

    Всего записей: 3487 | Зарегистр. 30-03-2002 | Отправлено: 16:28 24-03-2018
    adgeuk



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81, ух ты, спасибо!
     
     
    Добавлено:
    Когда я добавляю фильтр "удаление строк-дубликатов" в огромном документе,
    то выполнение удлиняется по времени с 10-15 минут до 50 часов.
    Нельзя ли как-нибудь сократить время?

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 20:31 24-03-2018 | Исправлено: adgeuk, 00:50 25-03-2018
    adgeuk



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

    Цитата:
    выполнение удлиняется по времени с 10-15 минут до 50 часов.

    Выяснилось что PowerGrep делает эту операцию гораздо быстрее.
     
    К тому же открылся ещё один косячок с TextPipe 9.7.3.
    Имею ОЧЕНЬ большой файл примерно такого содержания:
     
    1734805,4,100
    716091,4,100
    1025579,1,100
    1734805,4,101
    716091,4,101
    1025579,1,101
    ...
     
    Делаю фильтр  Pearl Pattern: (\d*),(\d),(\d*)
    с заменой на $1 и получаю при пробном прогоне:
     
    1734805
    716091
    1025579
    1734805
    716091
    1025579
    ...
     
    То есть, всё нормально!
    То же самое получаю при реальном прогоне, но только если изначальный файл имеет небольшой размер.
    Если фильтрую огромный файл с аналогичным содержанием, то после 15 минут ожидания получаю файл без изменений.
    Всё проверил - перепроверил и прогнал несколько раз.
     
    PS. Если кто знает где качнуть версию посвежее, напишите в личку, пожалуйста.
     
    Добавлено:
    Пожалуйста, подскажите аналог (\d*),(\d),(\d*)  и $1 в PowerGrep, чтобы оставить только первую часть выражения.

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 15:53 25-03-2018 | Исправлено: adgeuk, 17:24 25-03-2018
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    По производительности. Сортировка и удаление дубликатов - это те операции, которые требуют загрузки всего файла в ОП. TP- программа 32-битная. Возможно, вы просто уперлись в потолок.
    Начиная с 10-й версии появилась поддержка 64 бит. Посмотрите в варезнике - там была полу-ломанная версия.
    PowerGREP - 64-битная. Больше нагружает ОП, может, за счёт этого быстрее. Плюс свой, оптимизированный движок регулярных выражений.
     
    Регвыр для PG:

    Код:
    ^(\d+),(\d),(\d+)\r?\n  

    Т.е. в данном случае захватывается вся строка. Учитывайте, также, что в TP регулярки по умолчанию нежадные (нестандартное поведение), в то время как в PG - жадные, что является стандартным поведением.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 17:14 25-03-2018
    adgeuk



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

    Цитата:
    ^(\d+),(\d),(\d+)\r?\n  

    Спасибо, с этой частью я разобрался, хотя мой вариант был ^\d*,\d,\d*$
    Скобки, видимо нужны для последующей частичной замены.
    А что использовать для этой замены, ведь $1, например, как в TP нельзя?
     
    Понял, всё можно, просто $1 не работало с моим вариантом регулярки!
    Спасибо ещё раз, дело пошло!
     
    Добавлено:

    Цитата:
    Сортировка и удаление дубликатов - это те операции, которые требуют загрузки всего файла в ОП

    Из опытов вижу, что здесь причиной является не столько размер файла (пробовал от 70Mb до 1.5Gb), сколько количество строк в файле.
    При размере файла в 70Mb и с половиной миллиона строк TP прогоняет его в холостую, без изменений.
    PowerGrep же мне понравился, хотя непривычно поначалу.

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 17:21 25-03-2018 | Исправлено: adgeuk, 20:50 25-03-2018
    sikemo

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

    Цитата:
    Пожалуйста, подскажите аналог (\d*),(\d),(\d*)  и $1 в PowerGrep, чтобы оставить только первую часть выражения.

     
    вам надо обращаться только к первой части регулярки, то бишь \d* пока не наткнётся на , поставив условие, как я понимаю, с начала строки ^
     
    ^\d+  
    а вторую часть литтерала представлять как .+, и, даже желательно, не выделяя адреса (экономя т.о. ОП), т.е. (?>.+)
     
    и заменять на $1
     
    ---
    Регулярные выражения (Прикладное программирование)]

    Всего записей: 1326 | Зарегистр. 27-11-2008 | Отправлено: 21:46 25-03-2018
    adgeuk



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sikemo, спасибо, в общих чертах смысл ясен.
    Хотя и непонятно, что именно означают знаки "?" и ">" ?
     
    И еще один вопрос:
     
    Если в PowerGrep использую поиск с заменой по выражению ^(\d+),(\d),(\d+)$ ,
    то в конце итогового файла имею огромной длины строку с непонятными символами вместо нужного содержания.
     
    Если заменяю на ^(\d+),(\d),(\d+)$(?:\r?\n)* ,
    то всё путём.
     
    Что значит это выражение (?:\r?\n)* в PowerGrep ?
    (отдельной ветки по этой программе нету вроде)

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 20:09 26-03-2018 | Исправлено: adgeuk, 22:21 26-03-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