2015-07-21 4 views
2

Я пытаюсь извлечь MAC-адрес из таблицы arp, но он возвращает пустую строку.Извлечение MAC-адреса из таблицы arp с помощью grep regex

Я пытался использовать команду:

arp -a | grep eth1 | grep '^\A(([0-9a-fA-F]{2}):){5}([0-9a-fA-F]{2})$\z' 

'агр -a' команда возврата:

? (192.168.36.20) at 80:e0:1d:43:b0:60 [ether] on eth1 
? (192.168.0.1) at 34:4b:50:b7:ef:08 [ether] on usb0 
? (172.17.140.200) at 10:c3:7b:c4:82:04 [ether] on eth0 

Благодаря

ответ

4

решаемые с помощью:

arp -a | grep eth1 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' 
0

A гораздо проще, используя awk:

$ arp | grep eth1 | awk '{print $3}' 

См GNU Awk руководство больше.

Смежные вопросы