Обзор RQ Search and Replace, MultiReplace и @Text Replacer - утилит для замены текста в файлах


Иногда возникает необходимость заменить определенный кусок текста в нескольких документах: например, сменить пути установки в серии конфигурационных файлов или быстро изменить оформление в серии каких-нибудь договоров и т. д. Конечно, можно открыть каждый файл в редакторе, произвести поиск и замену штатными средствами; но если этих файлов больше десятка, то ручная работа становится весьма нудной, а если их больше полусотни, то это просто трата времени. Для решения таких задач есть специальные программы-автоматизаторы, три из которых - RQ Search and Replace, MultiReplace и @Text Replacer - будут рассмотрены в этом обзоре. Каждая из них имеет разные возможности и, в общем-то, разную область применения.

@Text Replacer

Программа @Text Replacer от компании Инфортекнолоджи – наиболее простая из всех трех. Стоимость полной версии - 118 рублей. Незарегистрированная версия позволяет проводить поиск и замену только в текстовых файлах (не обязательно txt – это может быть любой файл, данные в котором написаны открытым текстом: ini, html и т. д.) и не поддерживает режим командной строки. Тем не менее для большинства случаев такая функциональность вполне подойдет.

Основное окно программы @Textreplacer
Основное окно программы @Textreplacer

На вкладке "Текст и расположение" надо указать путь к файлу или файлам (допускаются стандартные подстановочные символы * и ?), что заменять и на что заменять. Флажок "Просмотреть вложенные папки" позволяет произвести замену не только в указанной папке, но и во всех ее подпапках. На вкладке "Дополнительно" можно указать игнорируемые символы (полезно, если текст разбит символами конца строки, например тексты с lib.ru, или между словами стоит больше одного пробела), установить классическую опцию "Учитывать регистр" и ввести путь к файлу, где будет сохранен отчет о переименовании.

После выставления всех опций и нажатия кнопок "Заменить" или "Найти" программа выдаст список обработанных файлов внизу основного окна. Форму выдачи результатов можно изменить в меню "Вид" - любой вариант из стандартных "Список", "Таблица" и т. д. К сожалению, какой бы пункт вы ни выбрали – программа выдаст только перечень файлов, а не искомые места в них. Впрочем, вооружившись любым просмотрщиком текста (например, встроенным в Total Commander), в них легко можно отыскать нужные строки.

Результаты поиска и замены
Результаты поиска и замены

Замечание: хотя @Text Replacer не поддерживает нестандартные методы замены, наподобие "Вставить Б между А и В", это не значит, что обязательно нужна другая программа. Того же эффекта можно добиться, заменив строчку "А В" на "А Б В"; то же самое касается удаления выбранного текста и вставки до и после указанного отрывка. Выделение таких действий в отдельную функцию оправдано при больших кусках для правки, тогда это экономит время.

Multi Replace

Программа Multi Replace предоставлена компанией Alphynsoftware. Основные поля в программе такие же, как и в предыдущей, – путь поиска, окно исходного текста и текста для замены, но эта утилита заметно функциональней @Text Replacer. Существует две версии программы, незначительно отличающиеся друг от друга, – Lite ($19,95) и Pro ($29,95). Пробная версия полнофункциональна, но ограничена 15 днями.

Основное окно программы Multi Replace
Основное окно программы Multi Replace

Среди преимуществ можно отметить более мощную работу с подстановочными символами – разрешается задача диапазона символов через [a-z] и отмена служебных символов при помощи обратного слеша – "\". (То есть комбинацией "\*" можно задать поиск в тексте именно символа *, а не любого символа.)

Очень удобен флаг "Помещать результаты в новую директорию", особенно в случае, когда нужно произвести несколько пакетных замен подряд на каком-нибудь бланке. Также можно выбрать типы файлов, которые будут (или напротив – не будут) учитываться при поиске или замене. Что приятно, некоторые из наиболее часто используемых расширений уже указаны в выпадающем меню. Используя кнопки "+" и "-", можно добавлять или удалять их (только в Pro).

Флаг "Многострочный текст" аналогичен флагу "Игнорировать конец строки" в @Text Replacer. Имейте в виду, что в режиме многострочного текста нельзя применить отмену спецсимвола при помощи знака "\"!

Групповая замена позволяет задать выполнение нескольких замен одновременно. При наличии большого количества файлов это поможет сэкономить время, равно как и флаг "Экспресс-замена" (выполнение всех замен только с одним запросом).

Среди функций также стоит отметить "Авторезервирование", которое создает копии изменяемых программой файлов. Выполняя автозамену для важных документов, особенно такую, которую нельзя совершить в обратную сторону, будет нелишним поставить этот флажок. Копии будут храниться в папке Backup в директории программы.

Часто случается, что нужно произвести замену несколько сложнее, чем А на Б. Например, нужно вставить в текст отчество между именем и фамилией или просто удалить некоторые куски текста. В таком случае справа от опций можно выбрать нестандартный способ замены.

Все параметры программы можно использовать и для дальнейшей работы с автозаменой, используя иконки "Сохранить параметры замены" и "Загрузить параметры замены" (Только в Pro).

RQ Search&Replace

RQ Search&Replace от MiraSoftware - самая мощная из всех трех программ. Кроме стандартного алгоритма поиска и замены файлов содержит в себе множество дополнительных функций. Демонстрационная версия позволяет обрабатывать или только один файл, или несколько файлов, но не больше 8 килобайт каждый. Выбор можно сделать непосредственно во время работы программы из меню "Помощь". Стоимость полнофункциональной версии – $19.

Основное окно программы RQ Search & Replace
Основное окно программы RQ Search & Replace

Основной принцип работы – задание различных правил обработки текста в специальной таблице, содержимое текущего ее ряда отображается в окнах Find what и Replace with. Если программа развернута на полный экран, то внизу появляется детальный лог, содержащий все совершенные программой операции.

Принцип работы программы
Принцип работы программы

Столбец, озаглавленный "!!!" обозначает активность/неактивность правила, столбец "Операция" - тип действия (замена, удаление, вставка до или после), а столбец "Объект" - тип данных, который будет обрабатываться. Таковых 6:

  • блок - любой массив данных;
  • строка - массив данных до разрыва строки;
  • слово целиком - массив данных, отделенный пробелами;
  • блок, заключенный в..., - все символы между А и Б;
  • MSWord - вызывает отдельное диалоговое окно, в котором можно настроить замену, используя все функции одноименного окна Word, включая спецсимволы;
  • HTML-тег - позволяет удалить теги (вместе с парными закрывающими, что удобно) или модифицировать их: например, заменить аргумент или перевести написание в другой регистр.

Меню "Таблица" дублирует все вышеупомянутые функции, позволяя установить их сразу для нескольких строк.

Из меню "Проект" можно сохранять и загружать параметры поиска и замены, как и в Multi Replace.

В меню "Кодировка" можно указать кодировку, которая будет принята по умолчанию при обработке. Программа умеет работать с Win1251, koi8, DOS-кодировками, а также с UTF8, отдельно вынесенном в меню "Опции".

В следующем пункте – "Просматривать в виде" - можно выбрать способ интерпретации текста в окне предпросмотра. Программа понимает не только обычный plain text, но и RTF, и HTML. (Удобно для редактирования архива веб-страниц, где строки разбиты тегами.)

Меню "Операции" содержит несколько дополнительных алгоритмов, на которых стоит остановиться поподробнее.

меню Операции
Меню Операции

Создать индекс-файл. Работает правильно, только если подсветить в окне выбора файлов .html страницы. Создает файл со ссылками на каждую из страниц. Файл получается абсолютно без всякого оформления, поэтому сгодится или в качестве основы для нормального индекса, или же для внутреннего использования при каталогизации сохраненных веб-страниц.

Text-HTML. Функция, превращающая текст в HTML-страницу. Несмотря на то что мусорного кода операция эта практически не добавляет, для русскоязычного пользователя она абсолютно бесполезна: получившийся из кириллического текста файл с символами вида "\’e7" не смогла прочитать ни одна программа, включая саму Search&Replace. С файлами на европейских языках все ОК.

HTML-Text. Производит обратное действие (в этом направлении кириллица обрабатывается нормально), но зачем это нужно – не очень понятно, ведь того же самого можно добиться, просто-напросто выделив текст в любом браузере.

меню Копии
Меню Копии

Удалить файлы нулевого размера. Название функции говорит само за себя. Удаляет все пустые файлы из выбранной папки. Можно запускать в конце работы, чтобы удалить файлы, чье содержимое уже было очищено.

Преобразовать HTML-Unicode в ASCII. Функция позволяет исправить в HTML-файлах некорректно отображенные сервером национальные буквы и спецсимволы. У меня она почему-то не сработала, хотя сам файл обрабатывался верно.

Заменить символы 0-31. Символы с кодами 0-31 в коде ASCII считаются управляющими, и иногда может потребоваться очистить от них текст (например, убрать лишние переводы строки), для чего и предназначена эта операция.

В меню "Настройки" можно поменять цветовую гамму утилиты, а также указать случаи, в которых программа будет запрашивать подтверждения действий.

Меню "Копии" и "История папок" дают пользователю гибкие возможности по управлению резервными копиями измененных файлов без необходимости пользоваться файл-менеджером.

Итоговое сравнение

@Text Replacer

Плюсы: низкая стоимость, простота в освоении.

Минусы: ограниченное удобство использования, низкая функциональность.

MultiReplace

Плюсы: удобный и понятный интерфейс, богатый набор фунцкий.

Минусы: из всех представленных программ – самая дорогая, даже Lite.

RQ Search & Replace

Плюсы: огромный набор функций, дополнительные операции, детальный лог всех действий, хорошая цена.

Минусы: несколько громоздкий интерфейс, простые действия занимают больше времени, чем в других программах.

Выводы

Если вам нужна простая программа, чтобы исправить 2-3 строчки в несложных текстовых документах, – @Text Replacer подойдет идеально, если же ваш выбор – сложные и разветвленные алгоритмы замены в разных файлах, то RQ Search & Replace или же Multi Replace.





Дополнительно

ВИКТОРИНА MICROLAB

В каком году была основана компания Microlab?

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.