实战应用之对文件内容中的域名进行计数排序处理

需求
  • 在文件内容中,将文件中的域名取出并根据域名进行计数排序处理
  • 文件样例:
    https://www.csdn.com/index.html
    https://www.csdn.com/1.html
    https://www.baidu.com/index.html
    https://www.aliyun.com/index.html
    https://www.csdn.com/query.html
    https://www.baidu.com/index.html
    https://www.baidu.com/search.html
    https://www.aliyun.com/test.html
    https://www.baidu.com/index.html
    
知识点
  • uniq
    对相邻的相同行内容去重
  • sort
    排序
  • 去重统计
    [root@localhost ~]#  sort test.txt |uniq  -c
      2 10.0.0.7
      3 10.0.0.8
      2 10.0.0.9
    
统计去重
  • 使用awk找出域名

    [root@localhost ~]# awk -F / '{print $3}' url.txt
    www.csdn.com
    www.csdn.com
    www.baidu.com
    www.aliyun.com
    www.csdn.com
    www.baidu.com
    www.baidu.com
    www.aliyun.com
    www.baidu.com
    
  • 用sort排序,将相同的行放在一起

    [root@localhost ~]# awk -F / '{print $3}' url.txt|sort
    www.aliyun.com
    www.aliyun.com
    www.baidu.com
    www.baidu.com
    www.baidu.com
    www.baidu.com
    www.csdn.com
    www.csdn.com
    www.csdn.com
    
  • 用uniq去重,并计数

    [root@localhost ~]# awk -F / '{print $3}' url.txt|sort|uniq -c
      2 www.aliyun.com
      4 www.baidu.com
      3 www.csdn.com
    
  • 用sort倒序排序

    [root@localhost ~]# awk -F / '{print $3}' url.txt|sort|uniq -c|sort -r
      4 www.baidu.com
      3 www.csdn.com
      2 www.aliyun.com
    
  • 使用awk高级用法

    [root@localhost ~]# awk -F "/" '{S[$3]=S[$3]+1}END{for(k in S) print k,S[k]}' url.txt |sort -rn -k2
    www.baidu.com 4
    www.csdn.com 3
    www.aliyun.com 2
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值