自身のローカルネットワークアドレスをCIDR形式で取得する
Pocket

会社で同僚と会話中、こういった話題になったので”そういや、どうやって取るんだろ”と思って調べてみた。
結果、専用のコマンドでどうにかするってのは厳しそうだったので、ipcalcおよびsipcalcを使って計算、取得させてみた。

Sponsored Links

ipcalc $(ip addr show en0 | awk '$1=="inet"{print $2}') | awk 'NR==5{print $2}'
sipcalc en0 | awk -F- '/Network address/||/Network mask \(bits\)/{print $2}' | xargs | sed 's/ /\//g'
blacknon@BS-PUB-DEVELOP:~$ ipcalc $(ip addr show ens18 | awk '$1=="inet"{print $2}') | awk 'NR=
=5{print $2}'
172.28.0.0/24
blacknon@BS-PUB-DEVELOP:~$ sipcalc ens18 | awk -F- '/Network address/||/Network mask \(bits\)/{
print $2}' | xargs | sed 's/ /\//g'
172.28.0.0/24

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。