gpt4 book ai didi

linux - sed 查找并替换 IP 地址后包含字符串的行

转载 作者:太空宇宙 更新时间:2023-11-04 09:03:17 25 4
gpt4 key购买 nike

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

192.168.10.155 Mike
8.8.8.8 Googley
123.231.123.3 Tom
192.238.8.10 Matt

假设我想查找并替换 Tom 的线路,并且我想在 IP 地址和空格之后匹配 Tom。 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 地址上正确动态匹配的任何想法?

最佳答案

这是 awk 方法:

$ new_ip=1.1.1.1    

$ awk -v ip="$new_ip" '$2=="Tom"{$1=ip}1' file
192.168.10.155 Mike
8.8.8.8 Googley
1.1.1.1 Tom
192.238.8.10 Matt

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com