Search and Replace

Автор: J-34
Дата: 20.10.2002
Все фото статьи
Часто возникают ситуации, когда нужно заменить одну строку в текстовом файле на другую. Для этого можно использовать Microsoft Word или любой другой текстовый редактор. А если файлов много? А если строка для поиска и замены зависит от каких-либо параметров? Или необходимо заменить несколько строк или кусок текста, который может быть по разному разбит по строкам? Или нужно заменить шестнадцатиричный код? В таких случаях гораздо удобнее пользоваться специализированными программами для поиска и замены. Представляю вам одного из лучших представителей этого вида - Search and Replace от Funduc Software.

Возможности программы:

Поиск и замена в зависимости (или без зависимости) от регистра;

Поиск и замена в нескольких файлах, с возможностью поиска и замены нескольких строк;

Поддержка включающих/исключающих фильтров для имен файлов, путей к ним, даты и времени создания;

Поиск и замена в буфере обмена Windows;

Поддержка Unicode-файлов;

Поддержка собственных скриптов для обработки RTF-документов, HTML-кода, Unicode-файлов;

Распечатка отчета о проделанных операциях на принтер, запись в файл или просмотр в браузере;

Копирование/перемещение/удаление файлов, в которых найдено искомое значение;

HTML режим, автоматически работающий только с текстом HTML-страниц, игнорируя тэги;

Открытие найденных файлов в ассоциированных с ними программах;

Переформатирование ширины текста в текстовых файлах;

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

Добавление текста в конец или начало файла;

Игнорирование переноса строки (эта возможность позволяет найти фразу, даже если она разбита на несколько строк);

Поддержка переменных окружения;

Предварительный просмотр результатов замены;

Резервное копирование изменяемых файлов;

Возможность оставлять без изменений значение времени создания изменяемых файлов;

Поддержка регулярных выражений при поиске и замене;

Возможность пошагового поиска и замены с остановкой на каждом найденном значении или файле;

Возможность изменения даты/времени файлов и их атрибутов;

Поддержка перетаскивания файлов/директорий мышью из Проводника или совместимых файловых менеджеров;

Контекстное меню программы в Проводнике;

Поддержка отката (Undo);

Поиск в ZIP-архивах;

Поддержка параметров командной строки.

Как можно видеть из этого списка, программа предоставляет пользователю богатые возможности для поиска и замены. Однако, как и все мощные программы, она обладает одним недостатком: пользователю бывает трудно разобраться со всеми возможностями и он использует программу от силы наполовину. Данный обзор подробно описывает Search and Replace и призван помочь пользователю разобраться со всеми её возможностями.

Несмотря на большое количество функций, интерфейс программы - довольно простой.

Сверху расположено меню, под ним небольшие кнопки, дублирующие основные его пункты. В окне "Search for" (Что ищем) задается строка поиска, в окне "Replace with" (На что заменяем) задается строка для замены. Окно "File Mask" (Маска файлов) задает включающую/исключающую маску файлов для поиска. В окне "Path" (Путь) задается путь для поиска файлов. И, наконец, в самом большом окне "Search Results" (Результаты поиска) выдаются результаты работы.

Для начала поиска необходимо нажать на кнопку
или выбрать пункт "Search" (Поиск) через меню "Actions" (Действия) или нажатием комбинации клавиш Ctrl+F. Поиск и замена запускаются нажатием кнопки
или выбором меню "Search and Replace" (Поиск и замена) в том же меню, или нажатием комбинации клавиш Ctrl+H. Комбинации клавиш - стандартные для продуктов Microsoft Office.

Если задан только поиск, то результаты выдаются сразу.

По правой кнопке мыши доступно контекстное меню, дублирующее некоторые пункты меню программы.

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

После первого найденного выражения программа остановится и запросит вариант продолжения дальнейших действий. Имеется возможность производить замену в пошаговом режиме и от выбора ответа зависит величина шагов.

Варианты ответа следующие:

Replace This - заменить данное включение указанной строки;

Repl. Rest In File - заменить все найденные включения указанной строки в этом файле;

Repl. Rest In Dir - заменить все найденные включения указанной строки во всех файлах данной директории;

Repl. All Remaining - заменить ВСЕ найденные включения указанной строки ВО ВСЕХ файлах (внимание, после выбора этого пункта дополнительных предупреждений не выдается);

Skip This - не заменять данного включения указанной строки;

Skip Rest of File - отменить замену всех найденных включений указанной строки в этом файле;

Skip Rest in Dir. - отменить замену всех найденных включений указанной строки во всех файлах данной директории;

Cancel Remaining - отменить дальнейшее выполнение поиска и замены.

Меню Favorites (Избранное) позволяет осуществить хранение различных условий и параметров программы для поиска и замены (наподобие ссылок в Microsoft Internet Explorer, только с одноуровневой структурой). При этом каждое условие хранится в виде простейшего скрипта в поддиректории Favorites рабочей директории программы.

Любые условия поиска могут быть сохранены и вызваны вновь и, если надо, отредактированы.

Параметры поиска в поддиректориях, или поиска с учетом регистра - задаются в программе при помощи "флагов" через меню "Flags" (Флаги)

или с помощью кнопок, выведенных на панель программы.

Всего в программе семь флагов:

"Case Sensitive" (Чувствительность к регистру). При использовании данного флага программа различает прописные и строчные буквы алфавита.

"Search Subdirectories" (Поиск в поддиректориях). Флаг разрешает поиск во вложенных поддиректориях заданного пути.

"Whole Word Match" (Точное совпадение). Данный флаг включается для отсечения слов, в которые искомая строка текста входит как подстрока, он задает поиск по отдельным словам или выражениям, отделенных пробелами или символами табуляции.

"Regular Expression" (Стандартные выражения). Флаг позволяет использовать стандартные выражения. Применение данного флага запрещает использование флагов "Ignore Whitespace" и "HTML mode".

"Search ZIP Files" (Поиск в ZIP-архивах). Флаг задает также поиск в ZIP-архивах.

"Ignore Whitespace" (Игнорирование пустого пространства). Использование данного флага игнорирует лишние пробелы (кроме первого пробела между словами - остальные игнорируются), символы табуляции, перевода строки. Применение данного флага запрещает использование флагов "Whole Word Match", "Regular Expression" и "HTML Mode".

"HTML Mode" (Режим HTML). При использование данного режима замена символов происходит с учетом формата HTML, т.е. используются только разрешенные символы. Недопустимые символы заменяются на специальный HTML-код. Например, символ "<" заменяется на выражение "<". Применение данного флага запрещает использование флагов "Whole Word Match", "Regular Expression" и "Ignore Whitespace".

Для задания информации для поиска и/или замены, содержащей более одной строки текста необходимо нажать кнопку
что приведет к переключению в "Binary Mode" (Двоичный режим).

Задание двоичного режима для замены и/или поиска отображается в соответствующих окнах надписью "Binary mode -->>".

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

Текст можно ввести с клавиатуры или вставить из буфера обмена, а также выбрать из окна Binary Codes (Двоичные коды) любые, в том числе и специальные символы:

При выборе пункта "Add at top of file" (Добавить в начало файла) блок или строка для поиска игнорируются, заданный в окне "Replace with" (На что заменяем) текстовый блок или строка вставляются в начало файла.

Аналогично работает пункт "Add at bottom of file" (Добавить в конец файла).

Изменение даты и времени файлов, а также их атрибутов возможно при помощи пункта Touch (Контакт). Действие выставленных значений будет применено ко всем файлам с соответствующими критериями поиска.

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

Для автоматизации работы программы в двоичном режиме вы можете применять скрипты. Программа Search and Replace использует собственные скрипты для задания операций поиска и замены. Они сохраняются в текстовом виде в файлах с расширением SRS. Формат скриптов подробно описан в файле ScriptInfo.txt, а также в справочной системе программы.

Для написания собственных скриптов вы можете использовать шаблон, поставляемый вместе с программой, файл SRDUMP.SRS. Для создания этого файла необходимо, удерживая нажатой клавишу Ctrl, нажать кнопку вызова редактора скриптов
После этого можно закрыть редактор. В директории программы будет создан файл SRDUMP.SRS, являющийся простейшим шаблоном для написания скриптов. Для каждого компьютера создается свой файл, в нем учитываются некоторые особенности компьютера, в частности, в него автоматически подставляется путь для временных файлов, а в строку для поиска и замены подставляются значения, хранящиеся в программе (при выходе из программы использованные параметры работы автоматически сохраняются).

Для задания сложных условий поиска вы можете использовать регулярные выражения, в таком случае строка для поиска не остается фиксированной, а в зависимости от условий может принимать различные значения. Для облегчения работы с регулярными выражениями служит программа Search and Replace Regular Expression Wizard предназначенная для создания и/или изменения регулярных выражений, используемых в программе Search and Replace.

В дополнение к программе Search and Replace вы также можете использовать программу HexView от Funduc Software. Эта бесплатная программа предназначена для просмотра и распечатки файлов в шестнадцатиричном виде. HexView является самостоятельным приложением с открытыми исходными кодами на С++ (MFC 5.0+).

Программа Search and Replace распространяется как Shareware. Стоимость однопользовательской лицензии составляет 25$.

Примечание: по умолчанию в программе Search and Replace используется шрифт размером 8 пунктов. Для увеличения этого размера до 10-ти пунктов необходимо скачать специальный интерфейсный модуль.

Дополнительные программы от Funduc Software для поиска и замены

Word Search and Replace (WordSR).

Бесплатный макрос Microsoft Word 97 создан как альтернатива программе Search and Replace для тех, кому необходимо выполнение поиска и замены в документах Word, но кто не нуждается во всех ее функциях. Макрос использует для поиска и замены средства Microsoft Word и может использоваться для поиска и замены в нескольких файлах.

Excel Search and Replace (ExcelSR).

Бесплатный макрос для Microsoft Excel 97, по аналогии с WordSR используется для поиска и замены в нескольких файлах средствами Microsoft Excel.

PowerPoint Search and Replace (PwrPtSR).

PowerPoint Search and Replace продолжает коллекцию бесплатных макросов для поиска и замены в продуктах Microsoft Office, используя для этого встроенные возможности этих продуктов. Для работы данного макроса требуется полная версия PowerPoint, а также установленный Microsoft PowerPoint Show Viewer.

Search and Replace 4.2 (размер 964Kb): линк

Интерфейсный модуль со шрифтом 10 пт. для Search and Replace 4.x (размер 30Kb): линк

HexView (размер 210Kb): линк

Исходный код HexView (размер 130Kb): линк

Word Search and Replace 2.2 (размер 45Kb): линк

Excel Search and Replace 2.0 (размер 45Kb): линк

PowerPoint Search and Replace 1.0 (размер 50Kb): линк