我想在短短的命令这些字段列表:添加计算列
IP[TAB]MAC[TAB]VENDOR[TAB]HOSTNAME
这是我想有结果:
192.168.1.1[TAB]54:a0:50:xx:xx:xx[TAB]ASUSTek COMPUTER INC.[TAB]Router
192.168.1.2[TAB]60:33:4b:xx:xx:xx[TAB]Apple, Inc.[TAB]iMac-John
192.168.1.52[TAB]08:ed:b9:xx:xx:xx[TAB]Apple, Inc.[TAB]iMac-Peter
192.168.1.26[TAB]c0:11:73:xx:xx:xx[TAB]Samsung Electronics Co.,Ltd[TAB]Erik's Android
我可以用这个命令轻松获得三个第一列:
sudo arp-scan -l | tail -n +3 | head -n -3
结果:
192.168.1.1[TAB]54:a0:50:xx:xx:xx[TAB]ASUSTek COMPUTER INC.
192.168.1.2[TAB]60:33:4b:xx:xx:xx[TAB]Apple, Inc.
192.168.1.52[TAB]08:ed:b9:xx:xx:xx[TAB]Apple, Inc.
192.168.1.26[TAB]c0:11:73:xx:xx:xx[TAB]Samsung Electronics Co.,Ltd
的问题是添加的第4列,我试图用awk
命令做,但我得到的结果在一个新行,而不是我喜欢的格式。
sudo arp-scan -l | tail -n +3 | head -n -3 | awk -F '\t' '{ print $0 system("getent hosts " $1) }'
意外的结果:
192.168.1.1[TAB]Router
192.168.1.1[TAB]54:a0:50:xx:xx:xx[TAB]ASUSTek COMPUTER INC.
192.168.1.2[TAB]iMac-John
192.168.1.2[TAB]60:33:4b:xx:xx:xx[TAB]Apple, Inc.
192.168.1.52[TAB]iMac-Peter
192.168.1.52[TAB]08:ed:b9:xx:xx:xx[TAB]Apple, Inc.
192.168.1.26[TAB]Erik's Android
192.168.1.26[TAB]c0:11:73:xx:xx:xx[TAB]Samsung Electronics Co.,Ltd
任何帮助将不胜感激!
[编辑]你的问题,包括简洁的,可测试的样品输入(输出须藤arp-扫描-l)和预期输出。 –
推测IP地址是通用密钥。调查'join'命令。 –