微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式 – 使用sed搜索并替换文件中的IP地址

试图让这个工作一段时间而不是真正得到它.
基本上,我有一个IP地址的文件每天或多或少地改变.该文件只包含一个IP地址,这是我试图用我疯狂的grepping替换以找到我当前的内部IP.

我有这个

#!/bin/sh

newip=$(ifconfig | grep 0xfff | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | grep -v 255)

echo $newip
sed 's/*\.*\.*\.*/"$newip"/g' log.txt > logmod.txt

但它不匹配和替换.
我不熟悉sed,我也是regexps的初学者.

任何帮助都是极好的!
谢谢 :)

如果您的sed版本支持扩展正则表达式(-r选项),您可以执行类似这样的操作(类似于您在grep语句中的操作).另请注意$newip在单引号之外,以允许shell替换它.
sed -r 's/(\b[0-9]{1,3}\b'/$newip/

顺便说一下,这个解决方案仍然匹配不代表IP地址的字符串.有关更复杂的解决方案,请参阅IP地址下的this site.

原文地址:https://www.jb51.cc/regex/356878.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐