73
現狀:
我有一個大的文件(百萬行),從幾個小時的網絡捕獲包含IP地址和端口,每行一個IP /端口。線條是這種格式:bash腳本:統計唯一行文件
ip.ad.dre.ss[:port]
期望的結果:
沒有爲我在登錄時收到的每個數據包的條目,所以有很多重複的地址。我希望能夠通過某種類型的shell腳本,將能夠將其降低到格式
ip.ad.dre.ss[:port] count
其中count
線運行,這是該特定地址的出現(和端口號)。不需要做特別的工作,將不同的端口視爲不同的地址。
到目前爲止,我使用這個命令來湊所有從日誌文件中的IP地址:
grep -o -E [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(:[0-9]+)? ip_traffic-1.log > ips.txt
從這一點,我可以用一個相當簡單的正則表達式來刮掉所有的IP地址這是由我的地址發送的(我不在乎)
然後我就可以使用以下方法來提取唯一條目:
sort -u ips.txt > intermediate.txt
我不知道我怎麼能聚集線c以某種方式排序。
後續:我現在每天都用這個字面。沒有它,我如何生存下去。 – Wug
我來這裏投票了,但它已經被我投票了。 – Worker
添加另一種排序以獲得最常見的結果:'sort ips.txt | uniq -c | sort -bgr' –