我阅读了这个主题First step,这篇文章很有用。我可以在主机文件中添加几行。
我现在正在尝试用正则表达式搜索和替换字符串,但没有成功。例如,如果我的主机文件包含“SOMEIP website.com”,我想修改此行以获取“NEWIP website.com”。
我可以找到一行包含“website.com”,我目前不知道(如果可能)如何获取该行并通过正则表达式模式替换IP地址。
%windir%\system32\FIND /C /I "website.com" %hostpath% >nul
IF %ERRORLEVEL% NEQ 0 ECHO %NEWLINE%^%server% website.com>>%hostpath%
我迷路了所以谢谢你的回答:)
答案 0 :(得分:0)
dbenham请参阅https://stackoverflow.com/a/16735079/891976了解repl.bat,它支持正则表达式搜索和替换。
type "HOSTS" | repl "\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b website.com" "NEWIP website.com" m >"HOSTS.new"
move /y HOSTS.new HOSTS
Repl.bat:http://www.dostips.com/forum/viewtopic.php?f=3&t=3855
答案 1 :(得分:0)
sed for Windows的示例:
sed -ri.bak "s/(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9]) website.com/NewIP website.com/ig" hosts
sed
制作备份副本hosts.bak
。