Эта страница содержит справочную информацию об использовании программы nhreplace. Информация относится к новой версии программы.

Поиск и замена обычного текста

Поиск и замена по регулярному выражению

Замена текста по списку действий

Смена кодировки файла

Замена текста в потоке stdin

Список всех параметров

Поиск и замена обычного текста

При запуске со следующими параметрами программа выполняет поиск простого текста (plain text):

nhrplc.exe -spt:<plain text>|-set:<escape text> [-i] [-r] 
-t:<plain text>|-et:<escape text>|-f:<filename>[,<codepage>] 
[-cp:<codepage>[,<codepage>]] [-o:(q|s|d*)] [-notitle] <mask>...

Текст для поиска может быть задан обычным текстом или текстом с управляющими символами.

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

Одновременно с заменой может быть выполнено преобразование кодировки файлов.

Поиск и замена по регулярному выражению

При запуске со следующими параметрами программа выполняет поиск текста по регулярному выражению (regular expression):

nhrplc.exe -sre:<regexp> [-i] [-r] 
-t:<plain text>|-et:<escape text>|-ft:<formatted text>|-f:<filename>[,<codepage>] 
[-cp:<codepage>[,<codepage>]] [-o:(q|s|d*)] [-notitle] <mask>...

Текст для поиска может быть задан регулярным выражением.

Текст для замены может быть задан статическим текстом (обычным текстом, текстом с управляющими символами или содержимым текстового файла) или выражением (форматированным текстом с флагами $).

Одновременно с заменой может быть выполнено преобразование кодировки файлов.

Замена текста по списку действий

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

nhrplc.exe -list:<replace file>[,<codepage>] [-r] 
[-cp:<codepage>[,<codepage>]] [-o:(q|s|d*)] [-notitle] <mask>...

В файле со списком действий могут быть указаны различные операции

-spt:<plain text>|-set:<escape text> [-i] -t:<plain text>|-et:<escape text>|-f:<filename>[,<codepage>]

-sre:<regexp> [-i] -t:<plain text>|-et:<escape text>|-ft:<formatted text>|-f:<filename>[,<codepage>]

Смена кодировки файла

При запуске со следующими параметрами программа выполняет преобразование кодировки файлов без изменения содержания текста:

nhrplc.exe -cp:<кодовая страница>,<кодовая страница> 
[-notitle] [-o:q[uiet]|s[hort]|d[etailed]*] [-r] <маска>...

Замена текста в потоке stdin

Программа выполняет замену текста в стандартном потоке STDIN с выводом в STDOUT, если в командной строке не заданы файлы для обработки.

Поиск простого текста:

nhrplc.exe -spt:<plain text>|-set:<escape text> [-i]  
-t:<plain text>|-et:<escape text>|-f:<filename>[,<codepage>] 
[-notitle]

Поиск по регулярному выражению:

nhrplc.exe -sre:<regexp> [-i]  
-t:<plain text>|-et:<escape text>|-ft:<formatted text>|-f:<filename>[,<codepage>] 
[-notitle]

Замена по списку действий:

nhrplc.exe -list:<replace file>[,<codepage>] [-notitle]

Список всех параметров

Полный список всех параметров:

-spt, -searchplaintext

Искать простой текст.

Текст можно задавать без кавычек, если он не содержит пробелов.

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

-spt:текст
-spt:"текст с пробелами"
-spt:"файл "справка 0248.txt""

-set, -searchescapetext

Искать простой текст с поддержкой символов \",\r,\n,\xHH,\\uHHHH

Текст можно задавать без кавычек, если он не содержит пробелов.

Текст с пробелами должен быть заключен в кавычки. Текст может содержать кавычки, но они должны быть экранированы обратной наклонной чертой (backslash \).

-set:"файл \"справка 0248.txt\""
-set:\u00A9

-spf, -searchplainfile

Искать простой текст по содержимому текстового файла.

Этот параметр был добавлен в nhrt v2.10.

Этот параметр удобнее для многострочного текста или для текста, где требуется экранировать много символов, по сравнению с spt или set.

Формат:

-spf:<имя файла>[,<кодировка файла>]

Использует содержимое указанного файла как простой текст для поиска.

Кодировка файла может иметь следующие значения: Auto* | ANSI | OEM | UCS-2LE | UCS2-LE_BOM | UTF-8 | UTF-8_BOM | Unicode | число. По умолчанию используется значение Auto. Символы тире и подчеркивания необязательны, например, ucs2lebom будет эквивалентно UCS2-LE_BOM.

Примеры:

nhrt.exe -spf:1.txt,utf8 -t:"заменяющий текст"
nhrt.exe -spf:2.txt -f:2a.txt

Параметр spf

  • работает как в командной строке nhrt, так и в файле, заданном параметром list
  • нельзя использовать одновременно с -spt, -sre, srf

-sre, -searchregularexpression

Искать регулярное выражение ECMAScript. Пример поиска по регулярному выражению см. в статье Изменение формата дат

-srf, -searchregularexpressionfile

Этот параметр был добавлен в nhrt v2.10.

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

Этот параметр удобнее для многострочного текста, по сравнению с sre.

Формат:

-srf:<имя файла>[,<кодировка файла>]

Использует содержимое указанного файла как регулярное выражение ECMAScript для поиска.

Кодировка файла может иметь следующие значения: Auto* | ANSI | OEM | UCS-2LE | UCS2-LE_BOM | UTF-8 | UTF-8_BOM | Unicode | число. По умолчанию используется значение Auto. Символы тире и подчеркивания необязательны, например, ucs2lebom будет эквивалентно UCS2-LE_BOM.

Примеры:

nhrt.exe -srf:1.txt,utf8 -t:"заменяющий текст"
nhrt.exe -srf:2.txt -f:2a.txt

Параметр srf

  • работает как в командной строке nhrt, так и в файле, заданном параметром list
  • нельзя использовать одновременно с -spt, -sre, spf

-list

Взять список замен из файла.

-i, -ignorecase

Не различать верхний и нижний регистр.

-t, -text

Задает простой текст для замены.

Текст можно задавать без кавычек, если он не содержит пробелов.

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

-t:текст
-t:"текст с пробелами"
-t:"файл "справка 0248.txt""

-e, -erase

Удаление текста (то же самое, что и -t:"").

-et, -escapetext

Задает простой текст с поддержкой символов \",\r,\n,\\,\xHH,\uHHHH для замены. Параметр -et добавлен в версии v2.7.0.

\" – кавычки,

\r – возврат каретки (carriage return) — CR, код 0x0D,

\n – новая строка (line feed) — LF, код 0x0A,

\xHH – символ, заданный двузначным шестнадцатиричным кодом, например, \x07 означает символ BEL. Удобно для указания непечатаемых ASCII символов, подробнее см. ASCII. Пример использования см. в статье ping со звуковым сигналом.

\uHHHH – символ, заданный четырёхзначным шестнадцатиричным кодом, например, \u215C означает символ дроби . Удобно для указания Unicode символов.

Текст можно задавать без кавычек, если он не содержит пробелов.

Текст с пробелами должен быть заключен в кавычки. Текст может содержать кавычки, но они должны быть экранированы обратной наклонной чертой (backslash \).

-et:"файл \"справка 0248.txt\""
-et:"\u00A9"

-ft, -formattedtext

Задает форматированный текст для замены регулярных выражений. Найденные группы обозначаются как $1, $2 и т.д.

Параметр -ft добавлен в версии v2.8.0.

Пример применения см. в статьях Замена текста с использованием результатов поиска по регулярному выражению, Изменение формата дат, Преобразование CSV файла в файл запросов SQL

-fet, -formattedescapetext

Задает форматированный текст для замены регулярных выражений. Найденные группы обозначаются как $1, $2 и т.д. Поддерживает escape characters: \",\r,\n,\\,\xHH,\uHHHH .

Параметр -ft добавлен в версии v2.9.0.

-f, -file

Задает файл для замены.

-o, -outputlevel

Задает режим вывода:
q Тихий режим (нет вывода)
s Краткие сведения
d Подробные сведения: каждый файл и число замен

-cp, -codepage

Кодовые страницы для чтения и записи: Auto* | ANSI | OEM | UCS-2LE | UCS2-LE_BOM | UTF-8 | UTF-8_BOM | Unicode | число.

Параметр <кодовая страница> может иметь следующие значения: Auto* | ANSI | OEM | UCS-2LE | UCS2-LE_BOM | UTF-8 | UTF-8_BOM | Unicode | число. По умолчанию используется значение Auto. Символы тире и подчеркивания необязательны, например, ucs2lebom будет эквивалентно UCS2-LE_BOM.

Описание значений подробнее.

Код возврата

Код возврата 0

Заменена 1 или более строк или преобразован 1 или более файлов

Код возврата 1

Не найден указанный текст или преобразование кодировки не требуется.

Код возврата 2

Ошибка в параметрах, не найден файл или другая ошибка.

Указание кодовой страницы

Параметр <кодовая страница> может иметь следующие значения: Auto* | ANSI | OEM | UCS-2LE | UCS2-LE_BOM | UTF-8 | UTF-8_BOM | Unicode | число. По умолчанию используется значение Auto. Символы тире и подчеркивания необязательны, например, ucs2lebom будет эквивалентно UCS2-LE_BOM.

ANSI

8-битная кодировка, используемая не Unicode приложениями с графическим интерфейсом. Зависит от настроек Windows и на разных компьютерах может соответствовать различным значениям, например, 1251 в русской версии и 1252 в западноевропейских, что приводит к неправильному отображения текста на западноевропейских языках (немецкий, французский и т.д.) в русской Windows и наоборот.

OEM

8-битная кодировка, используемая не Unicode приложениями с консольным интерфейсом. Зависит от настроек Windows и на разных компьютерах может иметь различные значения. Например, в русской версии Windows кодировка OEM соответствует 866.

UCS-2-LE

Двухбайтовая кодировка Little Endian без BOM, см. UTF-16. Это значение добавлено в версии v2.9.0.

UCS-2-LE_BOM

Двухбайтовая кодировка Little Endian с BOM, см. UTF-16. Это значение добавлено в версии v2.9.0.

Unicode

Обозначение соответствует UCS-2-LE_BOM, т.е. двухбайтовая кодировка Little Endian с BOM. Программа может считывать Unicode файлы с BOM (Byte Order Mark) или без BOM, запись производится всегда с BOM.

UTF-8

Кодировка UTF-8 без BOM.

Начиная с версии v2.9.0, значение было изменено: теперь это строго UTF-8 без BOM. Для записи UTF-8 с BOM следует использовать значение UTF-8_BOM (см. далее). В версиях по v2.8.1 обозначение UTF-8 трактовалось как запись с BOM.

UTF-8_BOM

Кодировка UTF-8 с BOM. Это значение добавлено в версии v2.9.0.

Номер кодировки, например, 1251, 1252 и т.д.

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

auto

Когда значение auto указано для существующего файла (обрабатываемого или используемого для замены), программа пытается автоматически определить кодировку:

  • файлы Unicode определяются по BOM или содержанию,
  • файлы UTF-8 определяются по BOM или содержанию,
  • если файл не UTF-8 и не Unicode, он считается ANSI.

Автоматически определить OEM программа не может.

Когда значение auto указано для результирующего файла, оно означает, что кодировка изменена не будет, т.е. останется как у исходного.

См. также

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

Если программа работает не так, как ожидается или при работе возникает ошибка, вы можете воспользоваться форумом поддержки nhreplace.

Справка nhrt: 3 комментария

  • 09.01.2016 в 20:23
    Постоянная ссылка

    Спасибо за труд, отличная программа! Жаль только , что нет «режима фильтра» (из STDIN в STDOUT без использования временных файлов — наподобие sed), а то бы вообще цены ей не было! :)

    Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *