我有这个命令,它可以很好地给我一个按 IP 地址排序的 IP 地址、MAC 地址和 MAC 供应商列表。
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
我需要做的就是更改我的 awk 打印语句,以便它在第 2 列和第 3 列之间放置一个逗号。所以基本上我会得到 3 列,第 1 列是 IP 地址,第 2 列是 MAC 地址,第 3 列是 MAC 供应商名称,所有行都按 IP 地址排序。除了第 2 列和第 3 列之间的逗号之外,我得到了我想要的一切。这将是一个用于输入数据库的 CSV 文件。
一个简单的解决方案是将结果通过管道传输到另一个 awk 。
这个命令的开头是一样的,我只添加了awk '{ print $1","$2" "$3" "$4" "$5" "$6 }'来添加第二个逗号
并且tr -d '()'在这里删除 Mac Vendor 周围的括号。