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

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

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

    Код:
    pushbyte  3
     pushbyte  4

     
    Нужно найти строки в которых после pushbyte разные значения. Когда одинаковые это не вопрос.

    Код:
    pushbyte\s+(\d+)\s+pushbyte\s+\1

    А как быть с разными. Т.е. надо найти только строки где значения разные.
    Так не работает.

    Код:
    pushbyte\s+(\d+)\s+pushbyte\s+(?!\1)

    Всего записей: 794 | Зарегистр. 06-09-2007 | Отправлено: 16:21 24-04-2013 | Исправлено: kvazigorynich, 16:22 24-04-2013
    KUMICH

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как в программе сделать экстракт сразу из нескольких мест за один проход, который разделены мусором, чтобы не удалять мусор (это не всегда получается)
     
    И второе, можно ли в программе задать путь по которому нужно вытянуть нужную информацию, скажем
     
    HTML[1].BODY[1].CENTER[1].TABLE[1].TBODY[1].TR[1].TD[1].TABLE[3].TBODY[1].TR[1].TD[2].TABLE[1]

    Всего записей: 381 | Зарегистр. 20-04-2003 | Отправлено: 10:54 22-07-2013
    evoroz



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KUMICH
    1. Мне кажется, только написав процедуру на VBScript.
    2. Сочинить регулярное выражение.

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



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Извлекаю информацию с сайта биржи труда.
    Используя фильтры смог извлечь:
     
    1.   адреса эл. почты
    2.   номера вакансий (состоит из 6 цифр)
     
    Увы, смог сделать это только в двух раздельных заданиях.
    Соответственно получил два текстовых файла:
     
    1.   только адреса эл. почты
    2.   только номера вакансий
     
    Использовал следующие фильтры:
     
    1.   Оставить согласующиеся строки  <td>\d\d\d\d\d\d</td>
    2.   Извлечь ареса эл. почты
     
    Если использовать эти два фильтра в одном задании, то результат - пустой файл.
    А нужно чтобы результат был единым и я видел какому номеру вакансии соответствует тот или иной адрес эл. почты.
     
    Вопрос:
    Как сделать чтобы оба результата со страницы прописались вместе?
    Справку читал, ответа не нашел.
     
    Вид исходной страницы поиска:

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 18:04 28-08-2013 | Исправлено: adgeuk, 19:00 28-08-2013
    evoroz



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    adgeuk
    http://rusfolder.com/37798243 (фильтр)
     
    Говорят, что Микеланджело спросили: как он создает свои скульптуры?  
    Ответ: Я беру камень и отсекаю все лишнее.
     
    Здесь принцип тот же.  
    Удаляем начало до адреса эл.почты, удаляем лишний код сзади, потом между почтой и номером. В конце удаляем теги. Остается, что надо. Недостаток метода в том, что удаляются конкретные строки - теоретически разные страницы могут иметь разное кол-во строк. Я попробовал несколько страниц - работает корректно.  

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



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

     

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 02:37 29-08-2013
    adgeuk



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Логика построения фильтров доходит туго, потерялся в экспериментах.
     
    К примеру,
    ставлю - удалить 40 строк от начала документа - удаляет верно,
    ставлю удалить 150 строк - удаляется почти все,
    хотя судя по исходному коду, там около 400 строк на странице.
    Вот почему так?
     
    Подскажите, как будет выглядеть фильтр для удаления всего до первого на странице emaila?
    Вариант с удалением определенного кол-ва строк довольно хорош, но не универсален.

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 16:17 30-08-2013 | Исправлено: adgeuk, 16:29 30-08-2013
    evoroz



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

    Цитата:
    ставлю - удалить 40 строк от начала документа - удаляет верно,  ставлю удалить 150 строк - удаляется почти все
    Не видя - трудно сказать что не так. Если последовательно фильтры стоят - удалит 190 строк. У меня строк - 302.
    Цитата:
    Подскажите, как будет выглядеть фильтр для удаления всего до первого на странице emaila?
    Мое решение загрузите и посмотрите первую строку.  

    Цитата:
    Вариант с удалением определенного кол-ва строк довольно хорош, но не универсален.

    Да - не универсален. Однако, поскольку страницы как правило пишутся или генерируются по некоему шаблону - он прокатывает. Для универсальности требуется писать регулярные выражения.  
    Например: заменить (.*)<strong>By E-Mail:</strong>(.*)  
    на <strong>By E-Mail:</strong>$2 означает, что Textpipe должен найти вхождение <strong>By E-Mail:</strong> и заменить его на тоже + то, что после вхождения - это $2. $1 - текст от начала до <strong>By E-Mail:</strong> в условии замены не упоминается и - отсекается, т.е. страница будет начинаться с <strong>By E-Mail:</strong>. Вот как-то так.
    Подработал фильтр: http://rusfolder.com/37831246

    Всего записей: 3487 | Зарегистр. 30-03-2002 | Отправлено: 20:29 30-08-2013
    adgeuk



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    evoroz
     
    С дополненным фильтром пока не разбирался, сначала хочу понять более простое.
     
    Вот страница: Fas.ie
    В исходном коде 291 строка.
     
    Ставлю фильтр Exclude 39 Lines from start of file - исключает первых 39 строк.
    Ставлю фильтр Exclude 250 Lines from start of file - в результате пустой файл.
    Использую лишь один фильтр.
     

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 22:46 30-08-2013 | Исправлено: adgeuk, 17:35 31-08-2013
    adgeuk



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Только сейчас обратил внимание,
    если поместить страницу в зону пробного прогона, то кол-во строк меняется!
     
    Там их только 175 вместо 291.
    Теперь понятно, почему при удалении 150 строк оставалось лишь пара десятков.
     
    Причем, страница не просто обрезана на 175 строке, а вообще разнится по содержанию с оригиналом.
    При поиске по зоне прогона не нахожу выражений присутствующих на сайте.
    К примеру, заголовок вакансии, который прописан на странице большим жирным шрифтом отсутствует в зоне прогона.
    При этом нет ни одного активного фильтра.
    Это вообще сбивает с толку.

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 17:20 31-08-2013 | Исправлено: adgeuk, 17:30 31-08-2013
    evoroz



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    adgeuk
    В html формально строка может быть очень длинной и программами просмотра делиться на несколько.
    Символ конец строки является действительным концом. Что касается поиска слов в textpipe он реализован просто. Набираешь слово, внизу есть переключение вперед - назад. Программа ищет только в указанном направлении от положения курсора, не проводя поиска по всему тексту.  

    Всего записей: 3487 | Зарегистр. 30-03-2002 | Отправлено: 19:30 31-08-2013
    adgeuk



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Проверил внимательно.
    Добавляю в TextPipe через меню "Инструменты - Поместить образец в зону пробного ввода".
    Текст совпадает где-то до 90-ой строки.
    Дальше чудеса, заголовка так и не нашел, зато есть строки которых в браузере нет.
     
    Все что написано в теге <p> вообще отсутствует в TextPipe, а это и есть для меня самое главное описание.
    Ломаю голову дальше, жаль не знаком пока с HTML, тут бы пригодилось.
     

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 02:54 01-09-2013
    evoroz



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    adgeuk
    Посмотрел и удивился: браузеры сохраняют код страницы по разному. И различия существенны.
    Я писал под оперу.
    Вывод из этого - писать регулярные выражения.
    Главный принцип - выкинуть лишнее!
    Фильтры пишем на основе Replace -> Find Pattert (perl style)
    (.*)Нужный текст(.*) заменить на Нужный текст$2 Иногда используется (.*?)

    Всего записей: 3487 | Зарегистр. 30-03-2002 | Отправлено: 12:20 01-09-2013
    adgeuk



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подкидываю Textpipe ссылку - программа не видит всего кода.
    Однако, если сначала скачать страницу при помощи Offline Explorer и подкинуть в TextPipe,
    то видит все идентично (на беглый взгляд) браузеру Firefox.

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 13:55 01-09-2013 | Исправлено: adgeuk, 13:56 01-09-2013
    adgeuk



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

    Цитата:
    (.*)Нужный текст(.*) заменить на Нужный текст$2 Иногда используется (.*?)  
    Не сразу, но дошло
     
    В принципе, того что есть уже достаточно, но есть еще вопрос.
    Если перед эмайлом нет устойчивого выражения, то как сохранить сам Email удалив только текст перед ним или после?
    Ведь если использовать фильтр  Find Pattert (perl style) то найденный Email не получится заменить на самого себя, так как заменить можно лишь на конкретное выражение.
     

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 04:28 02-09-2013 | Исправлено: adgeuk, 05:33 02-09-2013
    evoroz



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

    Цитата:
    найденный Email не получится заменить на самого себя, так как заменить можно лишь на конкретное выражение.

    А e-mail как найдется? Разве не через регулярное выражение? Соответственно заменяем найденное на $.

    Всего записей: 3487 | Зарегистр. 30-03-2002 | Отправлено: 09:42 02-09-2013
    Kolobkovskiy

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

    Цитата:
    Посмотрел и удивился: браузеры сохраняют код страницы по разному. И различия существенны.  
    Если обрабатывают по-разному, то почему должны сохранять одинаково? Видимо, у разработчиков разных браузеров разные представления о том, что есть важно в коде, а чем можно пренебречь.

    ----------
    В кроссворды онлайн играть, или на украинском онлайн кроссворды

    Всего записей: 207 | Зарегистр. 01-09-2013 | Отправлено: 13:32 02-09-2013
    adgeuk



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

    Цитата:
    Соответственно заменяем найденное на $.  

    Но тогда просто вместо найденного email выдает значек доллара, сам email опять же пропадает.

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 19:49 02-09-2013
    evoroz



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    adgeuk
    Не совсем так. Когда я написал $, я имел в виду, что за ним будет цифра - $1, например.
    Выражение (что-то)(что-то)(что-то) означает, что весь текст соответствует $0, первая группа (что-то) соответствует $1, вторая - $2 и третья - $3.
    Ну ладно, если трудно - забили.
    Полезная статья - http://habrahabr.ru/post/55820/ про валидацию e-mail.
     
    Remove -> Remove non-matching lines забиваем выражение [EmailAddress or ('<td>'6 digits'</td>')] и выбираем под строкой EasyPattern. Так проще
     
     

    Всего записей: 3487 | Зарегистр. 30-03-2002 | Отправлено: 22:50 02-09-2013
    adgeuk



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    С долларом придется разбираться, так как необходимо в конечном итоге получить текстовой файл вида:
     
    123456 <email@email.com>
    123456 <email@email.com>
    и т.д

    Всего записей: 92 | Зарегистр. 24-05-2010 | Отправлено: 00:36 03-09-2013
    Открыть новую тему     Написать ответ в эту тему

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