gpt4 book ai didi

Grep 日志中的 IP 地址

转载 作者:行者123 更新时间:2023-12-02 05:42:53 28 4
gpt4 key购买 nike

我不太擅长使用“基本?” unix 命令和这个问题进一步检验了我的知识。我想做的是 grep 日志中的所有 IP 地址(例如来自 apache 的 access.log)并计算它们出现的频率。我可以用一个命令来做到这一点还是需要为此编写一个脚本?

最佳答案

您至少需要一条短管道。

sed -e 's/\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\).*$/\1/' -e t -e d access.log | sort | uniq -c

它将打印每个 IP(不过仅适用于 ipv4),并以计数为前缀进行排序。

我用apache2的access.log测试了它(虽然它是可配置的,所以你需要检查),它对我有用。它假定 IP 地址是每行的第一个内容。

sed 收集 IP 地址(实际上它查找 4 组数字,中间有句点),并用它替换整行。 -e t 如果设法进行替换,则继续到下一行,-e d 会删除该行(如果该行上没有 IP 地址)。 sort 排序.. :) 并且 uniq -c 计算连续相同行的实例数(由于我们已经对它们进行了排序,因此对应于总计数)。

关于Grep 日志中的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5734873/

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