使用 PS 替换文本文件中的 IP

Replace IP in text file using PS

我正在尝试替换文本文件中不断变化的 IP 地址。这是我正在使用的代码。

$ConfigFile = "C:\Temp2\ConfigFile.overrides"

$content = [System.IO.File]::ReadAllText($ConfigFile).Replace("10.0.0.333","127.0.0.1")
[System.IO.File]::WriteAllText($ConfigFile, $content) 

如何将 10.0.0.333 变成通配符以便它可以与任何 IP 一起使用并将其更改回环回地址。

如果您要在文件中查找有效的 IP 地址,这将起作用:

$re='\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b'
$configFile='~/Documents/test/configFile.txt'

$configFileUpdate=(Get-Content $configFile) -replace $re,'127.0.0.1'
$configFileUpdate > $configFile

PS /~> cat ./configFile.txt

test test test test test test test 
test test test test test test test 
test test 10.10.0.123 test test test
test test test test test test test 
test test test test test test test 

PS /~> ./script.ps1           

test test test test test test test 
test test test test test test test 
test test 127.0.0.1 test test test
test test test test test test test 
test test test test test test test 

此正则表达式不适用于我们的示例 10.0.0.333,因为它不是有效的 IP 地址,因此像 Olaf 评论中的正则表达式一样可以使用。