我正在尝试使用sed查找一行,该行在IP地址后包含一个字符串,并替换该行。举例来说,我有一个这样的文本文件。。。

192.168.10.155 Mike
8.8.8.8 Googley
123.231.123.3 Tom
192.238.8.10 Matt

假设我想找到并替换Tom的线路,我想在Tom上匹配一个IP地址和一个空格。IP地址的每个八位字节可以有1到3位数字。目前,我。。。
newIpAddress="111.111.111.111"
sed -i "/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} Tom/c\$newIpAddress Tom" file

但这似乎行不通。关于如何修复第一部分,以便在每个八位字节1到3位的IP地址上进行动态匹配,有什么想法吗?

最佳答案

sed -ri "/[0-9]{1,3}(\.[0-9]{1,3}){3} Tom$/c$newip Tom" file

关于linux - sed查找并替换IP地址后包含字符串的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16199351/

10-16 05:59