我有一个这样的文件:
192.168.123 hostname1
192.168.126 hostname2
192.168.125 hostname3
192.168.124 hostname4
我想通过CMD ex搜索字符串。 hostname2
并在其后添加一行,使其看起来像这样:
192.168.123 hostname1
192.168.126 hostname2
192.168.128 hostname5
192.168.125 hostname3
192.168.124 hostname4
这一切都必须在原始文件中完成,而不要移到另一个文件中
答案 0 :(得分:0)
@echo off
setlocal
set "string=hostname2"
set "insert=192.168.128 hostname5"
for /f "tokens=1-2 delims= " %%A in (file.txt) do (
echo %%A %%B
if /i "%%~B" == "%find%" echo %insert%
) >> file.tmp
move /y file.tmp file.txt
变量string
是要查找的字符串。
变量insert
是新行
在与string
的值匹配的行之后插入。
for
循环将每个读取行按空格分隔为2个标记。
第一个令牌将是IP地址(似乎缺少八位字节)。
如果在正在读取的当前行的第二个令牌中找到string
的值,
然后插入insert
行。
写入file.tmp
后,文件将替换file.txt
。