linux中计算日志文件某个记录出现的次数并倒叙排列

     前几天去面试,有问到一个统计日志文件中出现的某个IP数量问题,还有排序,我答不上来,因为我确实不知道。所以特地回来学了一下。

    首先是统计某个记录的次数:

    

    这是我的一个文件test.txt,里面有这些IP,我想算一下这里面210.242.125.35这个IP出现了多少次,就可以使用 WC命令

cat test.txt | grep 210.242.125.35 |wc -l    结果:

得出了4次。

    好,现在你知道怎么去统计次数了,但是你想统计所有的IP,并且让他们按次数倒叙排列怎么实现呢?我们来看看:

grep -i -o -E "([0-9]{1,3}\.){3}[0-9]{1,3}" test.txt | sort -n | uniq -c | sort -n -r | head -6

从命令上可以理解过来,通过正则查找文件内的IP,然后排序,去重统计,再根据数量倒序,最后取最前的6个。sort是排序,uniq是去重。

&nbs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值