Sed:将任何 IP 地址替换为 127.0.0.1

Sed:将任何 IP 地址替换为 127.0.0.1

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

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

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

答案1

[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

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

相关内容