Вывод nmap в формате csv, отсортированный по последнему октету в ip-адресе

У меня есть эта команда, которая хорошо работает, чтобы дать мне список IP-адресов, MAC-адресов и Mac Vendor

sudo nmap -sn 192.168.0.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print " "substr($0, index($0,$3)) }' | sort

Все, что я хочу сделать, это добавить запятую в качестве разделителя между каждым из трех полей и отсортировать столбец IP-адреса по последнему октету IP-адреса. Изменяя команду следующим образом, я могу получить запятую между 1-м и 2-м столбцом и могу сортировать по IP-адресу. Теперь мне просто нужна запятая между 2-м и 3-м столбцом. Как добавить последнюю запятую?

sudo nmap -sn 192.168.0.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print ","substr($0, index($0,$3)) }' | sort -t . -k 4,4n

1 ответ

Я думаю, что вы ищете настройку "OFS" в awk (разделитель выходных полей, я думаю).

echo "one two three" | awk '{ OFS=", "; print $1,$2,$3}'
one, two, three

Кроме того, ваш вопрос больше подходит для PowerUser или другого сайта Stack Exchange.

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