開始的時候使用了一個 awk 腳本來解決這個問題:
#!/bin/awk -f
# filename: count_ip.awk
BEGIN {
}
{
ip_map[$0]+=1
}
END {
for (ip in ip_map) {
print ip_map[ip] "/t" ip
}
}
$: cat ip_file | awk -f count_ip.awk | sort -nr
後來發現其實沒必要這麼麻煩,利用管道組合三條命令也可以完成這個工作:
$: sort ip_file | uniq -c | sort -rn