Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: rar sed.rar
(36.2 Kb, 28 просмотров)

Цитата sv_diz:
не обрабатывает следующий текст »
Потому что средствами cmd довольно-таки сложно обрабатывать богатый спецсимволами текст, поэтому без спецсредств не обойтись. Предлагаю вариант 4 с применением утилиты sed.

Код: Выделить весь код
@echo off

set "SRC=C:\Temp\1.txt"
set "SedReplaceableText="
set /p ReplaceText=Заменяемый текст :
set /p ReplaceableText=Замещаемый текст :

for /f "tokens=1* delims==" %%a in ('set ReplaceText^|sed -e s/\\/\\\\/g^;s/\[/\\\[/g^;s/\./\\\./g^;s/\*/\\\*/g^;s/\$/\\\$/g') do set "ReplaceText=%%b"
for /f "tokens=1* delims==" %%a in ('set ReplaceableText^|sed -e s/\\/\\\\/g^;s/\[/\\\[/g^;s/\./\\\./g^;s/\*/\\\*/g^;s/\$/\\\$/g') do set "ReplaceableText=%%b"
sed -e /"%ReplaceableText%"/s//"%ReplaceText%"/<"%SRC%">>tmp
copy /y tmp %SRC% 1>nul&&del /f /q tmp>nul
P.S. С sed-ом я не особо дружу, регулярное выражение сделал как смог. (
P.P.S. Символ "^" не отрабатывается. (

Отправлено: 19:11, 08-01-2010 | #9