使用awk+sort+uniq进行文本分析

 问题:处理一下文件内容,将域名取出并根据域名进行计数排序处理

[root@web01 ~]# cat access.log 
http://www.etiantian.org/index.html
http://www.etiantian.org/1.html
http://post.etiantian.org/index.html
http://mp3.etiantian.org/index.html
http://www.etiantian.org/3.html
http://post.etiantian.org/2.html

此类问题是运维工作中最常见的问题。可以演变成分析日志,查看TCP各个状态连接数,查看单IP连接数排名等等。

[root@web01 ~]# awk -F '[/]+' '{print $2}' access.log|sort|uniq -c|sort -rn -k1
      3 www.etiantian.org
      2 post.etiantian.org
      1 mp3.etiantian.org

awk命令 -F后面给列分割符'[/]+'表示以任意/为分割符。后面为print语句,print语句还可以加条件看下面的例子:

awk ‘{if ($1 < 0.6 && $1 > 0.5) {print $}}'

uniq 命令必须先sort好,uniq -c在行前加上重复次数。sort命令-r表示(3,2,1)降序,-k1表示按第一列排序。

注意一点就是,管道是发起并行程序的好东西,如果文件非常大的话,管道是个好的加速器,管道两边是同时运作的,即一边sort一边uniq运算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值