我正在尝试转换ifconfig -a
以提供特定的输出,但我不确定 sed 是否表现良好。特定版本的 sed 可能无法正常运行(由于不同的 sed 对应物)。
我的ifconfig -a
输出(我只想看到网络掩码):
xennet0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
capabilities=2800<TCP4CSUM_Tx,UDP4CSUM_Tx>
enabled=0
address: 0a:3d:c0:98:c6:73
inet 172.31.11.166 netmask 0xfffff000 broadcast 172.31.15.255
inet6 fe80::83d:c0ff:fe98:c673%xennet0 prefixlen 64 scopeid 0x1
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33184
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
需要的输出(转换后的输出):
0xfffff000
0xff000000
我失败的尝试:
ifconfig -a | egrep "0xf." | sed 's/inet //' | sed 's/netmask //' |
sed 's/ broadcast//' | sed 's/([0-9]{1,3}\.){3}[0-9]{1,3}//g' | sed 's/\s+//'
它给了我输出:
172.31.11.166 0xfffff000 172.31.15.255
127.0.0.1 0xff000000
我希望它能够提供我需要的输出。
帮助将有很大帮助。我正在使用 NetBSD 6.1.5 (Amazon EC2),但是,我相信任何通用装置都应该工作。