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]#
 
 
 

1.uniq去重命令讲解的更多相关文章

  1. 快捷键和功能键、进入DOS命令行的方法、DOS命令讲解、java跨平台原理、JRE和JDK的定义、书写格式

    快捷键和功能键A:键盘功能键* a:Tab* b:Shift* c:Ctrl* d:Alt* e:空格 * f:Enter* g:Window* h:上下左右键* i:PrtSc(PrintScree ...

  2. Linux学习之路--常用命令讲解

    Linux常用命令讲解 1.命令格式:命令 [-选项]  [参数] 超级用户的提示符是# 一般用户的提示符是$ 如:ls -la /usr说明: 大部分命令遵从该格式多个选项时,可以一起写 eg:ls ...

  3. Linux去重命令uniq(转)

    注意:需要先排序sort才能使用去重. Linux uniq命令用于检查及删除文本文件中重复出现的行列. uniq可检查文本文件中重复出现的行列. 语法 uniq [-cdu][-f<栏位> ...

  4. linux命令(12)uniq去重

    转载地址:http://blog.51yip.com/shell/1022.html 实例详细说明linux下去除重复行命令uniq 一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以 ...

  5. sort排序和uniq统计命令

    author:headsen chen date: 2018-08-13  11:08:09 1,sort:排序的功能,默认安装ASCII码来排序,-n 安装数值排,-r 按照倒序来排 [root@b ...

  6. Dos命令讲解

    目录 一.什么是DOS 二.启动DOS的多种方法 三.DOS的内部命令与外部命令 四.系统环境变量讲解 增加Path环境变量路径 常见的系统环境变量 五.常用的运行命令 六.DOS使用技巧 设置CMD ...

  7. Linux基础之基本命令cat less more sort uniq alias 命令行 bash简单描述(三)

    获取Linux当前最新的内核版本号经常关注www.kernel.org 目录管理:ls cd pwd mkdir rmdir tree 文件管理:touch stat file rm cp mv na ...

  8. grep,cut,wc,sort,diff,uniq,patch命令

    文本处理工具: Linux上文本处理三剑客: grep,egrep,fgrep: 文本过滤工具(模式: pattern)工具; grep:基本正则表达式,-E,-F egrep:扩展正则表达式,-G, ...

  9. 使用sort,uniq去重并统计出现次数

    测试文档test 1 2 3 4 1 2 1 1 sort把相同的放在一起 [root@salt-test ~]# sort test 1 1 1 1 2 2 3 4 uniq -c统计出现的次数 [ ...

随机推荐

  1. JRebel Windows RegCreateKeyEx(...) returned error code 5.

    作为一个JRebel的深度用户,在win10下用JRebel的eclipse插件使用的时候遇到了如下问题: java.util.prefs.WindowsPreferences <init> ...

  2. salesforce 零基础学习(五十六)实现getById

    本来想通过template封装DAO中的getById,结果template中无法选择$(object_name),所以此种想法打消了,直接封装成一个Helper类,方便以后项目中如果有类似需要可以使 ...

  3. .NetCore之EF跳过的坑

    我在网上看到很多.netCore的信息,就动手自己写一个例子测试哈,但是想不到其中这么多坑: 1.首先.netCore和EF的安装就不用多说了,网上有很多的讲解可以跟着一步一步的下载和安装,但是需要注 ...

  4. Sql Server系列:规范化及基本设计

    1 理解表 表是具有相同常规属性(attribute)的数据实例的集合.这些数据实例组成数据行和列. 2 数据表设计范式 2.1 第一范式 第一范式(1NF)是关于消除重复数据组和保证原子性的规范化. ...

  5. .NET Core采用的全新配置系统[5]: 聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]

    较之传统通过App.config和Web.config这两个XML文件承载的配置系统,.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持.我们可以将内存变量.命令行参 ...

  6. ZKWeb网站框架介绍

    框架地址 https://github.com/zkweb-framework/ZKWeb https://github.com/zkweb-framework/ZKWeb.Plugins 新的文档地 ...

  7. 《高性能javascript》 领悟随笔之-------DOM编程篇(二)

    <高性能javascript> 领悟随笔之-------DOM编程篇二 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...

  8. Ionic2系列——在Ionic2中使用ECharts

    在群里看到有人问怎么在Ionic2中集成ECharts来显示图表.当时答应说写个blog,简单写下步骤. 在TypeScript中如果要使用第三方库,必须要有d.ts,也就是定义文件,没有这个文件的话 ...

  9. 从Google工程师到创业CTO,他的8项理念也许可以帮到你

    Lan Langworth是前Google软件工程师.O'Reily作者,现在他是Artillery的co-founder/CTO,致力于把游戏机质量的游戏带进网页浏览器.下文是他从Google离职到 ...

  10. Android ORM -- Litepal(1)

    ORM,即Object Relation Mapping,对象关系映射,实现了程序里面的类和数据库里面的数据之间的对应关系,对数据库的操作可以通过对类的操作去实现,不用再写SQL语句,从而提高了开发效 ...