Eu tenho este comando que funciona bem para me fornecer uma lista de endereços IP, endereços MAC e fornecedores de MAC, classificados por endereço IP.
sudo nmap -sn 192.168.103.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print ","substr($0, index($0,$3)) }' | sort -t . -k 4,4n
Tudo o que preciso fazer é alterar minha instrução awk print para que ela coloque uma vírgula entre a 2ª e a 3ª coluna. Então, basicamente, vou acabar com 3 colunas, a coluna 1 é o endereço IP, a coluna 2 é o endereço MAC, a coluna 3 é o nome do fornecedor MAC, com todas as linhas classificadas por endereço IP. Eu tenho tudo o que quero, exceto a vírgula entre a 2ª e a 3ª coluna. Este será um arquivo CSV para entrada em um banco de dados.
Uma solução simples será canalizar o resultado para outro awk .
O início deste comando é o mesmo que adicionei apenas awk '{ print $1","$2" "$3" "$4" "$5" "$6 }' para adicionar a segunda vírgula
E tr -d '()' está aqui para remover parênteses em torno do Mac Vendor .