gpt4 book ai didi

Bash 脚本 : count unique lines in file

转载 作者:行者123 更新时间:2023-11-29 08:38:40 29 4
gpt4 key购买 nike

情况:

我有一个大文件(数百万行),其中包含来自数小时网络捕获的 IP 地址和端口,每行一个 ip/端口。行的格式如下:

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

我不知道如何通过排序以某种方式聚合行数。

最佳答案

您可以使用 uniq 命令获取已排序重复行的计数:

sort ips.txt | uniq -c

要在顶部获得最频繁的结果(感谢 Peter Jaric):

sort ips.txt | uniq -c | sort -bgr

关于Bash 脚本 : count unique lines in file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15984414/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com