这里有很多用于替换子环或字符串的示例,但我需要将包含某些字符串的所有行替换为具有常量文本的另一行。例如我有一个文件:
aaa=111
bbb=222
ccc=333
aaa=444
我需要将“aaa=”替换为“aaa=000”。输出文件应如下所示:
aaa=000
bbb=222
ccc=333
aaa=000
所有这些都必须在没有 sed、awk 等派对工具的情况下完成
这里有很多用于替换子环或字符串的示例,但我需要将包含某些字符串的所有行替换为具有常量文本的另一行。例如我有一个文件:
aaa=111
bbb=222
ccc=333
aaa=444
我需要将“aaa=”替换为“aaa=000”。输出文件应如下所示:
aaa=000
bbb=222
ccc=333
aaa=000
所有这些都必须在没有 sed、awk 等派对工具的情况下完成
尝试使用for
循环来解析文件的每一行。如果"!line:~0,4!"=="aaa="
然后回显您想要的替换,否则回显未触及的行。这些回声应该被重定向到一个文本文件。然后当你完成后,将新合成的文本文件移到你一直循环的文件的顶部。
在保留空行的同时循环遍历文本文件的常用方法是for /f "tokens=1* delims=:" %%I in ('findstr /n "^" "filename.txt"') do ( something with %%J )
该findstr
命令将输出文件中的每一行,包括空行,并在行的开头带有行号。 %%J
变成每行的行号之后的任何内容。
这应该足以让你开始。祝你好运!