sed要付出234K空间,你也可以用命令行替换法。
不过你必须知道=右边是什么
@echo off
@echo.
@echo 替换=两边的指定字符,(把=作分隔符,再用别的字符连接,也就是先替换掉=)
@echo.
setlocal enabledelayedexpansion
cd.>b.txt
set char=$
set /p zb=输入=左边被替换的字符:
set /p zbc=输入=左边要替换成:
set /p yb=输入=右边被替换的字符:
set /p ybc=输入=右边要替换成:
find /i "%char%" a.txt>nul&&goto replace
for /f "tokens=1* delims==" %%a in (a.txt) do (
set temp=%%a%char%%%b
call :loop
)
CD.>c.txt
for /f "delims=" %%a in (b.txt) do (
set var=%%a
set var=!var:%zb%%char%%yb%=%zbc%%char%%ybc%!&echo !var:%char%==!>>c.txt
)
start c.txt
goto eof
:loop
for /f "tokens=1* delims==" %%m in ("!temp!") do (
set temp=%%m%char%%%n
if not "%%n"=="" (goto loop) else echo !temp:~0,-1!>>b.txt
)