私の目標は、IPアドレスの最初の3桁のみを新しいIPアドレスに置き換えることです。たとえば
NEW three first three digits – 17.100.10
OLD three first three digits - 12.200.10
Existing IP address in file - 12.200.10.2
次に、新しい IP を17.100.10.2として取得します
そこで、置換アクションを実行するために、次の Perl コマンドを記述します。
しかし問題は、新しい IP が最後の 3 桁と一致する場合、それらも置き換えられることです。
そう
IP アドレスの最初の 3 桁のみを置き換えるには、Perl コマンドで何を変更する必要がありますか?
問題を説明した実際の例1:
export OLD_IP=192.9.1
export NEW_IP=172.192.9
.
echo 1.192.9.1 | perl -i -pe 'next if /^ *#/; s/(\b|\D)$ENV{OLD_IP}(\b|\D)/$1$ENV {NEW_IP}$2/g'
1.172.192.9
.