次のperl1ライナーコードのターゲットは、最初の3つのオクテットを置き換えることです(4つのオクテットが数字/数字の場合-xxx.xxx.xxx.digit)
- 備考-私はLinuxとsolarisのマシンを使用しています
問題は、4オクテットIPが有効なIPオクテットではないのにperlワンライナーが最初の3オクテットも置き換えることです(たとえば5.5.5.555)
次のperlonelinerコード例は、4つのオクテットが有効なIPではないにもかかわらず、perl構文が最初の3つのオクテットをどのように置き換えたかを示しています。
# 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
最初の3つのオクテットを置き換えるために、perlの1つのライナーコードに何を追加する必要があるかをアドバイスしてください
4オクテットが有効なIP(0〜255)の場合のみ