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