2017-08-02 188 views
1

我想grep MAC地址arp -n從IP獲取Mac地址(bash)

我嘗試這樣做:$ 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地址,我怎樣才能得到它?

+0

分配的bash的$1給變量a在原始解決方案如果你使用'grep -m1',那麼你會得到想要的結果,儘管一起使用'grep'和'awk'是多餘的,因爲'awk'幾乎能夠完成'grep'能夠做的所有事情。 –

回答

2
arp | awk '/192.168.15.1/{print $3;exit}' 

通過使用此命令,你會得到只有1 MAC。

如果你想收養bash腳本的輸入是地址,使用下面的命令,

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

使用-v a=$1awk

+0

'arp ​​-n 192.168.15.1 | awk'/192.168.15.1/{print $ 3; exit}'' 這對我有用:) 我會寫這樣的Bash腳本:' arp -n $ 1 | awk'/'$ 1'/ {print $ 3; exit}'' – MrFlyingToasterman

+0

arp已棄用,使用它會導致您的腳本在某些時候失敗,除非您不升級系統,使其非常容易 – netizen

+1

@MrFlyingToasterman,請參閱我的修改答案,如果你想在bash中使用它 – CWLiu

1
ip -brief link show |grep -v LOOPBACK|awk '{print $3;}' 
+0

我需要一個遠程MAC不是我自己的。 – MrFlyingToasterman

+1

只需將鏈接更改爲鄰居 – netizen