Примеры использования nhrplc

Обсуждение программы nhrt - замена текста в файлах (прежнее название nhrplc)
Закрыто
nhutils
Сообщения: 595
Зарегистрирован: 09 дек 2009, 18:08
Контактная информация:

Примеры использования nhrplc

Сообщение nhutils »

ЗАМЕНА ТЕКСТА

Самый простой пример - замена одного текста на другой, например, команда

Код: Выделить всё

nhrplc.exe -s:"Foo" -t:"Bar" *.cpp *.h
заменяет текст Foo на текст Bar в файлах cpp и h текущего каталога.

Выполнить замену не только в текущем каталоге, но и в подкаталогах можно с использованием цикла for командного файла. Если создать командный файл nhrplcr.cmd:

Код: Выделить всё

@echo off
for /r %%a in (.) do pushd %%a & cd & nhrplc %* & popd
и выполнить команду

Код: Выделить всё

nhrplcr.cmd -s:"Foo" -t:"Bar" *.cpp *.h
то замена текста Foo на текст Bar будет выполнена в файлах cpp и h текущего каталога и всех подкаталогов.
Командный файл перебирает каталоги и в каждом выполняет программу nhrplc, вывод будет примерно такой:
D:\Temp\cmd
aaa.cpp: 2 замены
D:\Temp\cmd\am
c2.cpp: 2 замены
c1.h: 2 замены
D:\Temp\cmd\as
chb.cpp: 3 замены
ЗАМЕНА С ИСПОЛЬЗОВАНИЕМ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ

Замена дат 2000-2019 гг. на 01.03.2009 в *.txt и *.cmd файлах текущего каталога:

Код: Выделить всё

nhrplc -s:"[0-3]?[0-9]\.[0-1]?[0-9].20[0-1][0-9]" -t:"01.03.2009" *.txt *.cmd
Параметр -s задает текст, подлежащий замене. Предполагается формат типа d.M.yyyy.
Параметр -t задает заменяющую строку.
Третий и четвертый параметры задают маски обрабатываемых файлов.

ЗАМЕНА ТЕКСТА ФАЙЛОМ

Замена строки ref1 на содержимое файла content1.txt во всех файлах htm текущего каталога:

Код: Выделить всё

nhrplc -s:"ref1" -f:content1.txt *.htm
Параметр -s задает фиксированный текст, подлежащий замене.
Параметр -f задает заменяющий файл - content1.txt.
Третий параметр задает маску обрабатываемых файлов - все htm файлы текущего каталога.
Закрыто