Как отформатировать вывод arp -a?

Я пытаюсь отформатировать вывод arp -a по своему вкусу. Например, в данный момент он выводит:

MyRouter (172.16.3.x) at XX:XX:XX:XX:XX:XX [ether] on eth0
PC1 (172.16.3.x) at XX:XX:XX:XX:XX:XX [ether] on eth0
PC2 (172.16.3.x) at XX:XX:XX:XX:XX:XX [ether] on eth0

Но я хочу, чтобы он вывел что-то вроде:

MyRouter;172.16.3.x;XX:XX:XX:XX:XX:XX
PC1;172.16.3.x:XX:XX:XX:XX:XX:XX
PC2;172.16.3.x;XX:XX:XX:XX:XX:XX

Если я повторю одну из строк с BAD ] Команда sed, которую я создал, отформатирует вывод по своему вкусу, но я не могу использовать его в команде arp -a

Команда:

$ echo "MyRouter (172.16.3.x) at XX:XX:XX:XX:XX:XX [ether] on eth0" | sed 's/ (/;/g' | sed 's/) at /;/g' | sed 's/ \[.*//g'
MyRouter;172.16.3.x;XX:XX:XX:XX:XX:XX

Но как мне это сделать? отформатировать вывод arp -a так?

3
задан 7 April 2016 в 19:07

2 ответа

Дайте этот , команда sed присваивает версию попытке:

arp -a | sed 's/^\([^ ][^ ]*\) (\([0-9][0-9.]*[0-9]\)) at \([a-fA-F0-9:]*\)[^a-fA-F0-9:].*$/\1;\2;\3/'
4
ответ дан 8 April 2016 в 05:07
  • 1
    у нас есть 20 машин окон, я не могу изменить каждую машину. Есть ли любой метод для изменения на машине Linux только – Nevermore 18 August 2017 в 01:49

С awk:

arp -a | awk -F'[ ()]' '{OFS=";"; print $1,$3,$6}'

Вывод:

MyRouter;172.16.3.x;XX:XX:XX:XX:XX:XX
PC1;172.16.3.x;XX:XX:XX:XX:XX:XX
PC2;172.16.3.x;XX:XX:XX:XX:XX:XX
<час>

-F'[ ()]': разделители полей наборов к пробелу, ( и )

OFS=";": Выходной Разделитель полей наборов к ;

2
ответ дан 8 April 2016 в 05:07
  • 1
    DNS [служба именования доменов] является Вашим ответом; где машины просят IP-адрес, шлюз и т.д. Большинство домашних пользователей использует свои маршрутизаторы для этой функции; но устройства корпоративного класса (& достойные домашние), позволяют модификацию & добавление записей (без пределов памяти). Измените таблицы DNS на своем router/dns-device; или переместите функции DNS в устройство (ПК), где у Вас может быть одно устройство, которое делает это для всех машин. – guiverc 18 August 2017 в 14:41

Другие вопросы по тегам:

Похожие вопросы: