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

前端之家收集整理的这篇文章主要介绍了正则表达式 – 使用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.

猜你在找的正则表达式相关文章