Назад | Перейти на главную страницу

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

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

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

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

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

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