我如何从arp剥离IP地址,结果行包括正确的MAC地址和找到机器的IP地址,例如
arp -a | grep "70:d1" > address_file.txt
这给了我以下输出:
? (10.0.0.9) at b8:27:eb:3:79:d1 on en0 ifscope [ethernet]
我尝试过各种sed咒语,但没有运气。最新尝试是:
cat address_file.txt | sed 's/(\d{1,3}\.){3}\d{1,3}//p' address_file.txt
我可能在程序上做错了事,但是我的耐心不高,因为这本来是提供一些自动化的快速又肮脏的技巧。我还要注意,我使用的是运行OS Mojave的Mac,因为我已经读到它们是BSD sed与其他版本sed之间的一些正则表达式差异。
我应该注意,我执行了子网的nmap操作,因为arp项可能已过时,并且计算机将不再处于联机状态或其他地址,但没有产生任何流量。
答案 0 :(得分:0)
使用括号提取其中的内容:
arp -a | sed -e s'/.*(\(.*\)).*/\1/g'