加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:24:33 所属栏目:百科 来源:网络整理
导读:试图让这个工作一段时间而不是真正得到它. 基本上,我有一个IP地址的文件每天或多或少地改变.该文件只包含一个IP地址,这是我试图用我疯狂的grepping替换以找到我当前的内部IP. 我有这个 #!/bin/shnewip=$(ifconfig | grep 0xfff | grep -Eo '([0-9]{1,3}.){3
试图让这个工作一段时间而不是真正得到它.
基本上,我有一个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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读