gpt4 book ai didi

regex - 使用正则表达式搜索 127.0.0.1 以外的 IP 地址

转载 作者:IT王子 更新时间:2023-10-29 00:57:07 27 4
gpt4 key购买 nike

使用命令行工具,我试图找到除 127.0.0.1 之外的任何 IP 地址并替换为新 IP。我尝试使用 sed:

sed 's/\([0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}\)\(?!127.0.0.1\)/'$ip'/g' file

你能帮帮我吗?

最佳答案

由于 sed 不支持否定先行断言,我建议您使用 Perl 而不是 sed。

perl -pe 's/\b(?:(?!127\.0\.0\.1)\d{1,3}(?:\.\d{1,3}){3})\b/'"$ip"'/g' file

示例:

$ cat file
122.54.23.121
127.0.0.1 125.54.23.125
$ ip="101.155.155.155"
$ perl -pe 's/\b(?:(?!127\.0\.0\.1)\d{1,3}(?:\.\d{1,3}){3})\b/'"$ip"'/g' file
101.155.155.155
127.0.0.1 101.155.155.155

Hacky one 通过 PCRE 动词 (*SKIP)(*F) ,

$ perl -pe 's/\b127\.0\.0\.1\b(*SKIP)(*F)|\b\d{1,3}(?:\.\d{1,3}){3}\b/'"$ip"'/g' file
101.155.155.155
127.0.0.1 101.155.155.155

关于regex - 使用正则表达式搜索 127.0.0.1 以外的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27667637/

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