zoukankan      html  css  js  c++  java
  • 1.uniq去重命令讲解

    uniq命令:

    常见参数:
    -c,--count *****
         在每行旁边显示改行重复出现的次数
    -d,--repeated 
          仅显示重复出现的行,2次或2次以上的行,默认的去重包含1次。
     
    例子:

    a.只对相邻的相同行内容去重。

     
    1. [root@nfs-server test]# cat test.txt
    2. 10.0.0.9
    3. 10.0.0.8
    4. 10.0.0.7
    5. 10.0.0.7
    6. 10.0.0.8
    7. 10.0.0.8
    8. 10.0.0.9
    9. [root@nfs-server test]# uniq test.txt
    10. 10.0.0.9
    11. 10.0.0.8
    12. 10.0.0.7
    13. 10.0.0.8
    14. 10.0.0.9
    b.sort命令让重复的行相邻
    1. [root@nfs-server test]# sort test.txt
    2. 10.0.0.7
    3. 10.0.0.7
    4. 10.0.0.8
    5. 10.0.0.8
    6. 10.0.0.8
    7. 10.0.0.9
    8. 10.0.0.9
    c.先用sort命令将重复的行相邻,接着使用uniq去重
    1. [root@nfs-server test]# sort test.txt|uniq
    2. 10.0.0.7
    3. 10.0.0.8
    4. 10.0.0.9
    5. [root@nfs-server test]#
    d.将两个命令整合起来,可使用sort -u代替
    1. [root@nfs-server test]# sort -u test.txt
    2. 10.0.0.7
    3. 10.0.0.8
    4. 10.0.0.9
    e.去重计数
    1. [root@nfs-server test]# sort test.txt|uniq -c
    2. 210.0.0.7
    3. 310.0.0.8
    4. 210.0.0.9
    uniq功能:
    -c,--count 去重计数
    企业案例:
    考试题:处理以下文件内容,将域名取出并根据域名进行计数排序处理:(百度和SOHU面试题)
    test.log
    解答:
    法1:
    1. [root@nfs-server test]# sort test.log|awk -F "[://]+"'{print $2}'|uniq -c
    2. 1 mp3.judong.org
    3. 2 post.judong.org
    4. 3 www.judong.org
    法2:
    1. [root@nfs-server test]# awk -F /'{print $3}' test.log|sort
    2. mp3.judong.org
    3. post.judong.org
    4. post.judong.org
    5. www.judong.org
    6. www.judong.org
    7. www.judong.org
    8. [root@nfs-server test]# awk -F /'{print $3}' test.log|sort|uniq -c
    9. 1 mp3.judong.org
    10. 2 post.judong.org
    11. 3 www.judong.org
    12. [root@nfs-server test]#
    让降序排列:
    1. [root@nfs-server test]# awk -F /'{print $3}' test.log|sort|uniq -c|sort -r ##-r,表示倒序排列
    2. 3 www.judong.org
    3. 2 post.judong.org
    4. 1 mp3.judong.org
    5. [root@nfs-server test]#
    法3:
    cut 切割,简单的取列命令 
        -d:指定分隔符
        -f数字:表示取第几列。-f3,6
        -c按字符取
    1. [root@nfs-server test]# cut -d /-f3 test.log|sort -r|uniq -c
    2. 3 www.judong.org
    3. 2 post.judong.org
    4. 1 mp3.judong.org
    5. [root@nfs-server test]#
     
     
     





  • 相关阅读:
    团体程序设计天梯赛-练习集L1-002. 打印沙漏
    团体程序设计天梯赛-练习集L1-001. Hello World
    腾讯的一笔画游戏
    Educational Codeforces Round 11
    POJ 1149 PIGS
    POJ 3422 Kaka's Matrix Travels
    POJ 2914 Minimum Cut
    POJ 1815 Friendship
    POJ 1966 Cable TV Network
    BZOJ 1797: [Ahoi2009]Mincut 最小割
  • 原文地址:https://www.cnblogs.com/hackerer/p/5363868.html
Copyright © 2011-2022 走看看