Sed:用 127.0.0.1 替换任何 IP 地址

Ada*_*ich 3 sed text-processing ip-address

我正在尝试使用 sed 就地替换文件中的 IP 地址。我知道 。是通配符,所以我尝试执行以下操作:

sed -i -e 's/.\..\..\..\./127.0.0.1/g' /.../myfile.txt

但是我不确定 IP 地址的每个部分可以是多少位(1-3),我也不确定我的转义是否也有效。有什么建议吗?非常感激

小智 6

[0-9] 匹配任何数字。

[0-9]\{1,3\} 匹配 1 到 3 位数字(请注意,这将接受前导零。

所以,

sed -i -e 's/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/127.0.0.1/g' /.../myfile.txt
Run Code Online (Sandbox Code Playgroud)

应该大致做你想做的。它会匹配一些无效的地址,但可能会完成这项工作。有关更高级的选项,请参阅评论中来自 @steeldriver 的链接