【发布时间】:2018-07-09 06:55:55
【问题描述】:
我想从 Ubuntu 上的 arp 命令行输出中获取 mac 地址和相应的 ip 地址(例如,作为以 mac 地址作为键和 ip 地址的字典)作为值。
$ arp
Address HWtype HWaddress Flags Mask Iface
XX.X.X.X(XX) ether XX:XX:XX:XX:XX:XX C eth0
<host name> ether XX:XX:XX:XX:XX:XX C eth0
ip 地址(?P<ip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) 的正则表达式和mac 的正则表达式(?P<mac>[0-9a-f]{2}[:]){5}([0-9a-f]{2}) 各自工作正常。如何将这两者结合起来并忽略 ip 地址和 mac 之间的所有内容?如何改进 ip 地址正则表达式以匹配主机名?如果有更好的替代方法来使用arp 来获取ip 地址和macs,我很乐意改用这个命令。
【问题讨论】:
-
将文本拆分为行,将行拆分为字段可能会比正则表达式提供更好的结果。