суббота, 28 июля 2018 г.

Массовая замена текста, встерчаем uvFilesCorrector

uvFilesCorrector
Название: uvFilesCorrector
Аналог: текстовые редакторы
Размер скачиваемого файла: 0,8 Мб
Сайт: http://www.uvsoftium.ru
Как часто возникает необходимость заменить что-нибудь в файле? Регулярно. С этой задачей прекрасно справляется большинство текстовых редакторов. Но что если нужно найти и заменить текст не в одном, а двух, трех, десяти файлах? Эта работа может отнять очень и очень много времени: с каждым файлом нужно работать в отдельности. А что если можно было бы взять и заменить нужный текст сразу во всех файлах? Можно. uvFilesCorrector – это именно то, что сэкономит много времени и сильно облегчит работу.
Программа позволяет производить замену сразу в нескольких файлах и не только. Вообще функционал очень широк:
Исправление в нескольких файлах одновременно
Замена в буфере обмена
Замена выделенного текста
Последовательные замены
Поддержка XML документов
Наибольший интерес и практическую пользу представляет, конечно же, замена текста в нескольких файлах сразу. Остальные функции программы тоже очень важны, но все же меркнут на фоне ее главного козыря.
Интерфейс
Он прост и дружелюбен. Окно программы содержит два главных поля. Первое предназначено для работы со списком замен, который будет подробно рассмотрен далее, а вторая для работы с файлами. Также второе окно позволяет просматривать и изменять буфер обмена.
Теперь рассмотрим некоторые моменты более подробно.
Выбор файлов
Самая важная функция, на которой основываются все остальные. Ведь без выбранных файлов невозможно произвести замену. Выбор проходит по следующему алгоритму:
1. Выбор папки с файлами.
2. Выбор нужных файлов из этой папки.
После выполнения второго шага становится возможным выполнение всех остальных операций.
Небольшой, но удобной мелочью является то, что файлы в папке можно отсортировывать по типам: *.txt, *.html, *.htm, *.php. Если файлов много и они разных типов, то эта маска сильно облегчит поиск нужных.
uvFilesCorrector screen1
Список замен в файле
Принцип работы этой функции заключается в том, что пользователь создает какой-то список с заменами, а программа их последовательно выполняет.
В каждой замене есть возможность перехода на новую строку с помощью выражения [nw].
Также важным моментом является то, что можно применять не весь список, а только выделенные его элементы. Эта мелочь кажется несущественной, но если содержится, например, 100 позиций и одна из них совершенно не нужна для последующей замены, то создание нового списка из 99 элементов может отнять немало времени и выгода от использования программы сойдет на нет.
Элементы списка могут свободно перемещаться вверх и вниз. Для этого предназначены соответствующие кнопки.
Имеется возможность сохранения готовых списков в отдельные файлы для последующего их использования.
uvFilesCorrector screen2
Замена
После того, как был создан список (или хотя бы один его элемент) замен и добавлены все необходимые файлы, можно приступать к самой процедуре замены.
Собственно, она до невозможности проста и выполняется нажатием всего лишь одной кнопки “заменить”.
При замене можно учитывать регистр текста или же нет – все в зависимости от требований текущей задачи.
Помимо того, что можно менять текст в файлах, имеется возможность и изменения текста, содержащегося в буфере обмена. Программа сама обнаруживает информацию, хранящуюся в буфере, и автоматически выводит ее в поле вкладки “буфер обмена”. Если в буфере оказывается кусок, который можно заменить на какой-то элемент из списка замен, то он будет заменен. Если же такого куска не окажется, то текст останется без изменений. После завершения работы с текстом необходимо нажать всю ту же кнопку “заменить”. Отредактированный текст будет доступен также, как и обычный: ctrl+v.
Для облегчения работы с текстом в буфере предусмотрено наличие горячих клавиш, ведь не очень удобно каждый раз обращаться к окну программы. Комбинация ctrl+shift+c выполняет действия, аналогичные нажатию кнопки “заменить”, а ctrl+v вставляет уже измененный текст.
Замена при выполнении и невыполнении условия
Бывает, что файлов выбрано очень много и не совсем понятно какие нужно редактировать, а какие нет. Возможно, что некоторые уже были исправлены или просто не нуждаются в обработке. Для таких случаев предусмотрена функция замена при условии. Она содержит два элемента: “заменять если” и “не заменять если”. Принцип их работы абсолютно идентичен, но результат будет прямо противоположен. Стоит отметить, что замена (или не замена) произойдет только в том случае, если все заданные условия будут выполнены. Условий может быть одно или два.
Регулярные выражения
Не всегда известно то, какой именно текст нужно найти и заменить. Иногда случается так, что известны только какие-то его определенные свойства: телефон, адрес или еще что-то. В таких ситуациях инструмент регулярных выражений будет незаменим. Воспользоваться им можно во время добавления нового элемента в список замены. Программа содержит полную справку по элементам языка, а также мастера, который помогает правильно составить нужное выражение.
uvFilesCorrector screen3




UV FilesCorrector

UV FilesCorrector - программа для быстрого исправления текстовых файлов, текста в буфере обмена и просто выделенного текста.
  • Что делать когда в тексте нужно произвести сразу несколько разных замен?
  • Или нужно заменить текст сразу в десятке-другом файлах?
  • Или нужно найти и заменить многострочный текст?
  • Или найти (заменить на) нестандартные символы (табуляция, © и др.)?
Обычный механизм замены тут не помощник. Либо долго, либо вообще невозможно. А вот с UV FilesCorrector эта задача становится очень простой и быстрой.
Вот неполный список возможностей программы по работе с текстом:
  • Возможность исправлять сразу множество файлов
  • Производить множество разных замен друг за другом
  • Заменять выделенный текст в любой программе
  • Использовать в поиске и замене нестандартные символы (например ©, ® и многие другие)
  • Использовать поиск по шаблону (регулярные выражения)
  • Есть возможность работать с файлами XML, используя язык запросов xPath.
  • И многое другое
И все это одним нажатием на кнопку!

Содержание



Список замен

Замены производятся в том порядке в котором они находятся в списке. Срабатывают только отмеченные замены.
Невидимые символы обозначаются в списке условными обозначениями в квадратных скобках. Например переходы на новую строку обозначаются как [nw], табуляция как [t] и т.д. Условные обозначения показаны под списком замен.

Создание и редактирование замены

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

Замена текста в файлах

Примерный порядок действий:
  • Выбрать папку с файлами
  • Задать маску файлов, если нужно (в примере это "*.txt;*.xml")
  • Отметить нужные файлы
  • Нажать кнопку "Заменить"
По завершению обработки файлов будет выдано сообщение о количестве произведенных замен.
Можно посмотреть журнал произведенных замен.

Замена текста в буфере обмена

Вкладка "Буфер обмена" показывает текст, скопированный в буфер обмена. При нажатии кнопки "Заменить" этот текст в соответствии со списком замен. После этого можно сразу вставлять измененный текст с помощью Ctrl + V.
Добавлена возможность заменять текст в буфере обмена по горячей клавише Ctrl + Shift + C.

Замена выделенного текста в любой программе

Добавлена горячая клавиша Ctrl + Shift + X для замены выделенного текста в любой программе. Не важно в какой программе Вы редактируете текст. Просто выделите текст и нажмите Ctrl + Shift + X.

Замена в XML файлах

Для этого необходимо при редактировании замены отметить галочку "XML" и задать xPath. Затрагивается только текст в атрибутах и между тэгами (в том числе в разделе CDATA). Ищутся все элементы для которых условие xPath истинно. Текст заменяется в самом элементе и во всех дочерних элементах (см. пример 2.а). Расширение файла может быть любым (необязательно xml).
Примеры: Заменим "text" на "TEXT", но не во всем тексте, а только в нужных местах
Исходный XML (фрагмент)
  <item id="1" name="plain_text">
    <title>text color</title>
    <desc>text color</desc>
  </item>
1. xPath = "//item/@name"
Результат:
  <item id="1" name="plain_TEXT">
    <title>text color</title>
    <desc>text color</desc>
  </item>
2. xPath = "//item"
Результат:
  <item id="1" name="plain_text">
    <title>TEXT color</title>
    <desc>TEXT color</desc>
  </item>
3. xPath = "//item/title"
Результат:
  <item id="1" name="plain_text">
    <title>TEXT color</title>
    <desc>text color</desc>
  </item>
Примечание:
Если при указании xPath не указывать "что найти", то будет заменен любой текст по указанному xPath.

Работа с командной строки

Для запуска UV FilesCorrector с командной строки нужны два файла: 
- файл, содержащий список файлов для замены
- файл, содержащий список замен (создайте необходимые замены с помощью UV FilesCorrector и сохраните в файл).

Утилита запускается в скрытом режиме и закрывается после завершения работы. Формат команды:
"UV FilesCorrector.exe" "Files.txt" "Replaces.lst"
Пример файла Files.txt со списком файлов для замены. Имена файлов должны быть на отдельных строках. Можно использовать полные и относительные (относительно папки в которой лежит Files.txt) пути к файлам.
c:\Temp\Test.txt
Годовой отчет.txt
Docs\Документ1.txt
В качестве примера файла Replaces.lst можно взять файл Default.lst из каталога программы.
Внимание:
Будут произведены только те замены в которых <Checked>1</Checked>

Заменить при условии

Допустим в папке много файлов в которых нужно исправить текст. Но в некоторых файлах исправлять не нужно (либо уже исправлено, либо просто не нужно). В таких случаях бывают полезными дополнительные условия замены, где можно указать:
  • Заменять если присутствует текст "..."
  • Заменять если отсутствует текст "..."
  • Не заменять если присутствует текст "..."
  • Не заменять если отсутствует текст "..."
Текст будет заменен только при выполнении всех указанных условий.

Поиск по шаблону (регулярные выражения)

Очень мощный инструмент для поиска. Когда неизвестен сам текст, но известны его свойства. Например найти и удалить из текста все e-mail адреса или телефоны.
В качестве очень простого примера приведем такое регулярное выражение:
\d{3}
Такое выражение ищет в тексте три цифры подряд. Можно искать в тексте e-mail, URL, номер телефона и многие другие вещи.
Теперь в UV FilesCorrector есть Мастер, помогающий в составлении регулярных выражений.
Само окно мастера содержит краткий справочник по регулярным выражениям и средство проверки составленных выражений
Для проверки регулярного выражения заполните текстовое поле "Текст для проверки". Если отметить галочку "Анализировать каждую строку", то регулярное выражение будет применяться к каждой строке. Иначе ко всему тексту целиком. При проверке следует указывать как строки, подходящие по условию, так и те которые должны быть пропущены.
Фрагмент регулярного выражения в скобках образует подмаску (подтекст) который можно использовать в "Заменить на". $1 - первая подстрока, $2 - вторая и т.д. Подробнее на примерах ниже.
Исходный текстШаблонЗаменить наРезультат
before 1234 after(\d+)цена $1 руб.before цена 1234 руб. after
before 1234 after(\d+)$1.00before 1234.00 after
before 1234 after(\d{2})(\d{2})$2$1before 3412 after
... abc@mail.ru ...\s([\w.]+@[\w.]+)\s<a href="mailto:$1">$1</a>... <a href="mailto:abc@mail.ru">abc@mail.ru</a> ...


Удобные "фишки"

В новой версии добавлены:

  1. Галочка "Только отмеченные" для списка замен и списка файлов. Отображаются только отмеченные элементы, часто это довольно удобно.
  2. Добавлена опция "Во всех вложенных подпапках" для списка файлов. Все найденные файлы, удовлетворяющие условиям отбора, отображаются в списке.
    Имя файла в списке показывается относительно выбранной папки.
  3. Быстрый фильтр для списка замен и для списка файлов. Набирая текст при включенном фильтре, Вы оставляете в списке только те файлы, в имени которых встречается набранный текст.
  4. Мастер для составления и отладки регулярных выражений

0 коммент.:

Отправить комментарий