IPを変換するより良い方法は何ですか?

IPを変換するより良い方法は何ですか?

10.AB.C9.XYZに変換しようとしています10.AB.C2.252

今、各文字を抽出して一緒にリンクしています。

ip_main=10.AB.C9.XYZ

A_char=${ip_main:3:1}
B_char=${ip_main:4:1}
C_char=${ip_main:6:1}

new_ip="10.${A_char}${B_char}.${C_char}2.252"

これを達成するより良い方法はありますか?

ベストアンサー1

2.2523番目のオクテットの最後の数字だけを変更し、4番目のオクテットの合計数字を次に変更したい場合

new_ip=${ip_main%?.*}2.252

$ip_mainこれにより、一致から最短のサフィックス文字列が削除され、結果に追加さ?.*れます。2.252このモードを使用した交換は、常に3番目のオクテットの最後のビット、3番目と4番目のオクテットの間の点、および4番目のオクテット全体に影響します。

テスト:

$ ip_main=10.AB.C9.XYZ
$ new_ip=${ip_main%?.*}2.252
$ printf '%s\n' "$new_ip"
10.AB.C2.252

おすすめ記事