sedを使用して最後の値(IPアドレス)を変更する方法

sedを使用して最後の値(IPアドレス)を変更する方法

次のコマンドラインを使用して現在のIPアドレスを読みます。次に、最後の値を0/24に置き換える必要があります。現在のIPは192.168.178.1です。 192.168.178.0/24のvar値を変更する必要があります。

ご支援とよろしくお願いします!

 varip=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1  -d'/' )

ベストアンサー1

最後に、次のsedコードを使用してください。

sed 's:[^.]*$:0/24:'

「.」を含まない最後の部分文字列を「0/24」に置き換える方法で動作します。sエスケープされていない '/' を使用できるように、sed コマンドの区切り文字として ':' を使用する方法に注意してください。


または常にsedを使用してください:)

ip addr | sed -rn '/state UP/{n;n;s:^ *[^ ]* *([^ ]*).*:\1:;s:[^.]*$:0/24:p}'

おすすめ記事