2014-12-05 68 views
0

我使用以下格式來獲取唯一IP打到我網站的次數。在日誌文件中搜索唯一ips的總數

搜索日誌文件以獨特的IPS總數

zcat *file* | awk '{print $1}' | sort | uniq -c | sort -n 

這給我的IP地址列表,它的發生。

1001 109.165.113.xxx 
1001 178.137.88.xxx 
1001 178.175.13.xxx 
1001 81.4.217.xxx 
1060 74.122.180.xxx 
1103 67.201.52.xxx 
1203 81.144.138.xxx 
1670 54.240.158.xxx 
1697 54.239.137.xxx 
2789 39.183.147.xxx 
4630 93.158.143.xxx 

我想知道的是簡單的,如果它可以在一個命令行上完成。

我只想要這個清單的數量。所以從上面的例子。我想緩衝區告訴我11.我想我可以使用第二個AWK命令來計算第二個輸出的唯一出現,但我猜你不能在一個命令行中使用AWK兩次。

很明顯,我可以輸出上面的日誌文件,然後運行第二個awk命令來統計第二個字段(IPS)的唯一出現,但我希望能在單個命令中完成此操作。

+2

取代'排序| uniq的-c |排序-n'用'排序-u | wc -l' – 2014-12-05 19:24:57

+2

你可以在管道 – 2014-12-05 19:26:07

+0

中多次使用awk,謝謝@glennjackman, – odr 2014-12-11 17:56:59

回答

1

這裏是awk的代碼來獲得獨特的IPS總數

zcat *file* | awk '{a[$1]} END {print length(a)}'