繁体   English   中英

sed正则表达式匹配并替换任何最后一位数字

[英]sed regex match and replace any last digit

我有很多包含以下ipaddress的文件,并且我想替换ip的最后一位,看起来我在努力提出正确的正则表达式

文件1

IPADDR=10.30.2.26
NETMASK=255.255.0.0
GATEWAY=10.30.0.1

我想更换10.30.2.2610.30.2.27使用SED但不知何故,我缺少的东西,我已经试过以下。

我有很多文件要替换,最后一位可以是任何数字。

我试过sed 's/[^IPADDR].$/7/g' file1

如何匹配^IPADDR{anything}$之间的^IPADDR{anything}$

在您的正则表达式中, [^IPADDR]是一个字符类 ,用于搜索除方括号中列出的字符以外的任何字符。 我不确定那不是您想要的。

您可以改用地址来查找以IPADDR/^IPADDR/ )开头的行,并在其上应用替换命令:

sed '/^IPADDR/s/[0-9]$/7/' file

您可以使用以下命令:

sed -r 's/(^IPADDR=[0-9.]+)([0-9]$)/\17/g' file

打印:

IPADDR=10.30.2.27
NETMASK=255.255.0.0
GATEWAY=10.30.0.1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM