我需要一种方法来从此IP列表中删除重复项。
arp-scan -I usb0 --file=ClassB.txt -N -r 1 --interval=50 | grep -E '([a-f0-9]{2}:){5}[a-f0-9]{2}' | awk '{print $1}' > IPList.txt
我应该介入的任何想法或方向? 我需要将我的另一个脚本的IP列表汇总在一起。
谢谢!
答案 0 :(得分:2)
使用sort -u
仅打印唯一的行:
arp-scan ... | awk '/([a-f0-9]{2}:){5}[a-f0-9]{2}/{print $1}' | sort -u > IPList.txt
作为奖励我删除了你的grep | awk
管道,因为awk完全能够自己匹配模式。
你甚至可以用awk完成整个事情:
arp-scan ... | awk '/([a-f0-9]{2}:){5}[a-f0-9]{2}/&&!seen[$1]++{print $1}' > IPList.txt
这只会在第一个字段尚未添加到数组seen
时打印,因为!seen[$1]++
只会为真一次。