以下 perl 单行代码的目标是替换前三个八位字节(如果四个八位字节是 digit/number - xxx.xxx.xxx.digit )
- 备注 - 我使用 linux 和 solaris 机器
问题是 perl one 行也将替换前三个八位字节,而四个八位字节 IP 不是有效的 IP 八位字节(例如 5.5.5.555 )
以下 perl 单行代码示例显示了 perl 语法如何替换前三个八位字节,尽管四个八位字节不是 VALID IP
# export OLD_IP=1.1.1
# export NEW_IP=5.5.5
# echo 1.1.1.555 | perl -i -pe 'next if /^ *#/; s/(?<![\d.])\Q$ENV{OLD_IP}\E(?=\.\d)/$ENV{NEW_IP}/g'
5.5.5.555
请告知需要在我的 perl 单行代码中添加什么,以替换前三个八位位组
仅当四个八位字节为 VALID IP(介于 0 – 255 之间)