IPアドレスとインターフェース名の印刷

IPアドレスとインターフェース名の印刷

以下のようにIPアドレスを表示したいと思います。

lo : 127.0.0.1 
eth0 : 192.168.5.123
eth1 : 192.172.0.212
wlan0 : 10.1.0.124

すべてのIPアドレスを印刷できますifconfig | awk '/inet addr/{print substr($2,6)}'。ただし、IPのみを印刷します。各システムには固有のインターフェイス名とアドレスがあります。したがって、私のスクリプトはIPアドレスに関連するインターフェースを表示する必要があります。

ベストアンサー1

以下は目的の操作を行います。

$ ip addr | awk '
/^[0-9]+:/ { 
  sub(/:/,"",$2); iface=$2 } 
/^[[:space:]]*inet / { 
  split($2, a, "/")
  print iface" : "a[1] 
}'
lo : 127.0.0.1
br0 : 10.1.10.12

おすすめ記事