我想在短短的命令這些字段列表:添加計算列
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'命令。 –