仅从IP获取Mac地址(bash)

仅从IP获取Mac地址(bash),bash,awk,grep,arp,Bash,Awk,Grep,Arp,我想在arp-n中grep MAC地址 我试过:$arp | grep 192.168.15.1 | awk'{print$3}' 但我的结局是这样的: 00:00:00:00:00:00 00:00:00:00:00:00 00:00:00:00:00:00 00:00:00:00:00:00 00:00:00:00:00:00 00:00:00:00:00:00 我审查了苹果电脑 我只想要一个MAC地址,我怎样才能得到它 ip -brief link show |grep -v LOOPB

我想在
arp-n
中grep MAC地址

我试过:
$arp | grep 192.168.15.1 | awk'{print$3}'

但我的结局是这样的:

00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
我审查了苹果电脑

我只想要一个MAC地址,我怎样才能得到它

ip -brief link show |grep -v LOOPBACK|awk '{print $3;}'
通过使用此命令,您将只获得1个mac

如果要采用bash脚本的输入作为addr,请使用下面的命令

arp -n $1 | awk -v a=$1 '$0 ~ a{print $3;exit}'

使用
-va=$1
将bash的
$1
分配给
awk

中的变量
a
,我需要一个不是我自己的远程MAC。只需将链接更改为邻居
arp-n192.168.15.1 | awk'/192.168.15.1/{print$3;exit}'
这对我有效:)我将编写一个bash脚本,如下所示:`arp-n$1;awk'/'1;print$3;exit}“`arp已被弃用,使用它会导致脚本在某个时候失败,除非您不升级系统,这会使您的系统变得非常复杂vulnerable@MrFlyingToasterman,如果您想在原始解决方案中使用我的修改答案,请参见我的修改答案如果您使用
grep-m1
,那么您将获得所需的结果,尽管同时使用
grep
awk
是多余的,因为
awk
几乎可以做
grep
能做的一切。
arp -n $1 | awk -v a=$1 '$0 ~ a{print $3;exit}'