0

这里有很多用于替换子环或字符串的示例,但我需要将包含某些字符串的所有行替换为具有常量文本的另一行。例如我有一个文件:

aaa=111
bbb=222
ccc=333
aaa=444

我需要将“aaa=”替换为“aaa=000”。输出文件应如下所示:

aaa=000
bbb=222
ccc=333
aaa=000

所有这些都必须在没有 sed、awk 等派对工具的情况下完成

4

1 回答 1

1

尝试使用for循环来解析文件的每一行。如果"!line:~0,4!"=="aaa="然后回显您想要的替换,否则回显未触及的行。这些回声应该被重定向到一个文本文件。然后当你完成后,将新合成的文本文件移到你一直循环的文件的顶部。

在保留空行的同时循环遍历文本文件的常用方法是for /f "tokens=1* delims=:" %%I in ('findstr /n "^" "filename.txt"') do ( something with %%J )findstr命令将输出文件中的每一行,包括空行,并在行的开头带有行号。 %%J变成每行的行号之后的任何内容。

这应该足以让你开始。祝你好运!

于 2013-02-28T21:31:43.660 回答