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.252
3番目のオクテットの最後の数字だけを変更し、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