命令uniq经常用于去除一个文本中的重复行。用sort命令也可以去除重复行,但二者有较大区别:用sort去除重复行时,sort将整个文本中的多个重复行去除,仅保留一行,而uniq会将多个连续重复的行去除,仅保留一行。

  • 命令格式:

uniq [option] [input [output]]

  • 常用选项:

c:输出重复行的重复次数。

d:仅输出重复的行。

f:忽略一些字段,只比较指定的字段。

i:忽略大小写。

s:忽略一些字符,只比较指定的字符(从s指定的字符处开始对比)。

u:输出不重复的行。

w:指定要比较的字符位置。

用法示例:

(1)直接使用uniq命令:

  1. [root@localhost test]# cat uniq_test
  2. 1111111111111
  3. 2222222222222
  4. 3333333333333
  5. 2222222222222
  6. 2222222222222
  7. 2222222222222
  8. 4444444444444
  9. [root@localhost test]# uniq uniq_test
  10. 1111111111111
  11. 2222222222222
  12. 3333333333333
  13. 2222222222222
  14. 4444444444444

(2)使用选项c和d输出重复行信息:

  1. [root@localhost test]# uniq -c uniq_test
  2. 1 1111111111111
  3. 1 2222222222222
  4. 1 3333333333333
  5. 3 2222222222222
  6. 1 4444444444444
  1. [root@localhost test]# uniq -d uniq_test
  2. 2222222222222

(3)使用选项u输出文件中没有重复的行:

  1. [root@localhost test]# uniq -u uniq_test
  2. 1111111111111
  3. 2222222222222
  4. 3333333333333
  5. 4444444444444

(4)有时可能只需要对几个字段或几个字符进行比较,此时可以结合选项f和选项s去除这些重复的行:

  1. [root@localhost test]# cat uniq_test1
  2. aaa bbbAA
  3. aaa bbbAA
  4. aaa cbbAA
  5. bba abbAA
  6. BDB AAABB
  7. BCB AAABB
  8. ABB AACBB
  1. #使用选项f忽略第1个字段,然后使用s3指定从第2个字段的第3个字符出开始对比
  2. [root@localhost test]# uniq -f1 -s3 uniq_test1
  3. aaa bbbAA
  4. BDB AAABB
  5. ABB AACBB

去除重复命令uniq的更多相关文章

  1. 实例详细说明linux下去除重复行命令uniq

    地址:http://blog.51yip.com/shell/1022.html 一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉.linux下有其他命令可以去除重复行,但 ...

  2. uniq linux下去除重复行命令

    一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉.linux下有其他命令可以去除重复行,但是我觉得uniq还是比较方便的一个.使用uniq的时候要注意以下二点 1,对文本操 ...

  3. Linux合并文件、去除重复行的命令

    Linux合并文件命令: awk '{printf("%s\n",$0)}' YQ-*101?.txt >  123.txt   linux去除重复行命令:cat YQ-10 ...

  4. linux命令(47):Linux下对文件进行按行排序,去除重复行

    Linux下对文件进行按行排序:sort 与 uniq 命令简介 Linux | May 24, 2015 | linux sort 命令可针对文本文件的内容,以行为单位进行排序.其基本语法格式为: ...

  5. uniq 去除重复行

    1.命令功能 uniq可以输出或忽略文件中的重复行,经常需要使用sort先对文件进行排序,然后使用uniq去重并计数. 2.语法格式 uniq  option  input uniq   选项    ...

  6. linux 命令 uniq

    linux命令uniq去重 实例详细说明linux下去除重复行命令uniq 一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉.linux下有其他命令可以去除重复行,但是我觉 ...

  7. linux shell脚本查找重复行/查找非重复行/去除重复行/重复行统计

    转自:http://blog.sina.com.cn/s/blog_6797a6700101pdm7.html 去除重复行 sort file |uniq 查找非重复行 sort file |uniq ...

  8. sort关于去除重复/查找非重复/查找重复/统计

    去除重复sort file |uniq   查找非重复 sort file | uniq -u   查找重复 sort file | uniq -d   统计 sort file | uniq -c

  9. 【shell】awk按域去除重复行

    首先解释一下什么叫“按域去除重复行”: 有的时候我们需要去除的重复行并不是整行都重复,两行的其中一列的元素相同我们有的时候就需要认定这两行重复,因此有了今天的内容. 去除重复行shell有一个原生命令 ...

随机推荐

  1. 使用Go开发一个简单的服务器程序

    最近有个小项目,需要一个简单的后台程序来支撑,本来想用Nodejs来做,但是由于本人js一直很菜,并且很讨厌callback,虽然我也很喜欢异步模型,但我一直都觉得JS是反人类的.后台就用了go处理, ...

  2. hadoop2.2伪分布安装加2.2源码编译

    配置linux基本环境: --> java.ip.hostname.hosts.iptables.chkconfig.ssh环境配置 hadoop2.2安装在linux64位机器上,需要对源码进 ...

  3. 转】使用Maven编译项目遇到——“maven编码gbk的不可映射字符”解决办法

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4239006.html 感谢! 一.问题描述 今天在MyEclipse中使用Maven编译项目源代码时,结果如下了 ...

  4. NetBeans平台中调用状态栏

    http://blog.csdn.net/mycsoft/article/details/2326386 StatusDisplayer stD = StatusDisplayer.getDefaul ...

  5. SpriteKitCommonUse

    [SpriteKitCommonUse] 1.SKView中提供了显示FPS和NodeCount(当前view)的方法,如下: 展现一个scene: - (void)viewWillAppear:(B ...

  6. [转]undefined reference问题总结

    转自http://ticktick.blog.51cto.com/823160/431329 最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误: (.t ...

  7. login placeholder

    $(function(){ function isPlaceholder(){ var input = document.createElement('input'); return 'placeho ...

  8. android 自定义用相机拍照后的照片存储位置

    1.imageUri = Uri.fromFile(new File(Environment .getExternalStorageDirectory()+ File.separator + getP ...

  9. GC: CMS垃圾回收器一(英文版)

    Memory Management in the Java HotSpot™ Virtual Machine Concurrent Mark-Sweep (CMS) Collector For man ...

  10. spring与jpa整合 简化persistence.xml配置文件 使用属性文件 数据源dbcp访问数据库

    ===========appliction.xml配置文件======================= <?xml version="1.0" encoding=" ...