0

由于无法安装各种精美的查找和替换工具,我需要使用 Windows Server 2008 的命令行在文本文件中查找和替换字符串。

我该怎么做?

例子:

text.md

    Hello world!

改成:

text.md

    Hello everyone!

我正在寻找类似的东西:

for /f %%A in (text.md) do (

    set "line=%%A"

    if defined line (

        // and here the replacement

    ) ELSE echo.
)
4

2 回答 2

1

使用repl.bat它放在路径上(比如在 C:\Windows 或添加到路径的实用程序文件夹中)

type "text.md"|repl "world" "everyone" >"text.tmp"
move /y "text.tmp" "text.md"

repl.bat是来自 - http://www.dostips.com/forum/viewtopic.php?f=3&t=3855的类似 SED 的帮助程序批处理文件

findrepl.bat是来自 - http://www.dostips.com/forum/viewtopic.php?f=3&t=4697的类似 GREP 的帮助程序批处理文件

如果您想要简单的批处理技术,那么它将取决于确切的任务和文本构成。

于 2013-09-25T13:46:23.677 回答
0

这对我有用:

(for /f "tokens=1,* delims=]" %%A in ('"type text.md|find /n /v """') do (

    set "line=%%B"
    if defined line (
        call set "line=echo.%%line:world=everyone%%"
        for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X
    ) ELSE echo.

)) >text2.md

move /Y text2.md text.md
于 2013-09-26T15:04:24.343 回答