你的位置:首页 > 操作系统

[操作系统]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
http://www.judong.org/index.html
http://www.judong.org/1.html

http://post.judong.org/index.html
http://mp3.judong.org/index.html

http://www.judong.org/3.html
http://post.judong.org/2.html
解答:
法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]#



 
 
 




来自为知笔记(Wiz)