龙空技术网

Linux如何统计所有日志文件某个ip出现的次数

无忧的松鼠u1 239

前言:

现在各位老铁们对“linux中查看包含字符串出现的次数”都比较关怀,各位老铁们都需要分析一些“linux中查看包含字符串出现的次数”的相关内容。那么小编也在网络上搜集了一些对于“linux中查看包含字符串出现的次数””的相关内容,希望朋友们能喜欢,同学们一起来了解一下吧!

hello呀,大家好,我是yangyang。今天继续带来日常技巧分享

概述

有的时候,我们可能会遇到统计日志文件里面某个字符串出现的次数,比如我标题的例子:发现某个ip 频繁请求,于是我想统计下这个ip出现在所有日志文件的次数

技巧

要在logs/(假设是这个目录)目录下的所有日志文件中统计某个IP出现的次数,你可以使用grep命令结合其他工具来完成任务。假设你要查找IP地址 192.168.1.1 在日志文件中出现的次数,你可以使用以下命令:

grep -r "192.168.1.1" logs/ | wc -l

这个命令会递归搜索logs/目录下的所有文件,并计算包含 IP 地址 192.168.1.1 的行数,最后使用wc -l来统计行数,即出现的次数。

如果你要查找包含多个不同的 IP 地址的次数,你可以使用grep -o来匹配并列出所有匹配的 IP 地址,然后使用sort和uniq来计算每个 IP 地址的出现次数。例如

grep -roh "192.168.1.[0-9]\{1,3\}" logs/ | sort | uniq -cgrep -ro  "192.168.1.1" ./  -c | sortgrep -roh  "192.168.1.1" ./  -c | sort

这个命令会列出logs/目录下所有 IP 地址,然后使用sort对它们排序,并使用uniq -c来计算每个 IP 地址的出现次数。

注意:在上述命令中,IP 地址的匹配模式假定 IP 地址的最后一段是一个数字(0-255)。你可以根据你的需求自定义匹配模式。

效果图

标签: #linux中查看包含字符串出现的次数 #linux 查找字符串出现的次数 #linux 查找字符串出现的次数和次数