`
wbj0110
  • 浏览: 1551246 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Linux命令行uniq

阅读更多

uniq [选项] 文件

说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。

该命令各选项含义如下:、

– c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。

– d 只显示重复行。

– u 只显示文件中不重复的各行。

– n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。

+n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。

– f n 与- n相同,这里n是字段数。

– s n 与+n相同,这里n是字符数。

接下来通过实践实例说明:

===========================================

[root@stu100 ~]# cat test
boy took bat home
boy took bat home
girl took bat home
boy took bat home
boy took bat home
dog brought hat home
dog brought hat home
dog brought hat home

看test文件的内容

============================================

[root@stu100 ~]# uniq test
boy took bat home
girl took bat home
boy took bat home
dog brought hat home

uniq命令不加任何参数,仅显示连续重复的行一次

============================================

[root@stu100 ~]# uniq -c test
2 boy took bat home
1 girl took bat home
2 boy took bat home
3 dog brought hat home
1

-c 参数显示文件中每行连续出现的次数。

============================================

[root@stu100 ~]# cat test |sort | uniq -c
1
4 boy took bat home
3 dog brought hat home
1 girl took bat home

排序后再显示

============================================

[root@stu100 ~]# uniq -d test
boy took bat home
boy took bat home
dog brought hat home

-d选项仅显示文件中连续重复出现的行。

============================================

[root@stu100 ~]# uniq -u test
girl took bat home

-u选项显示文件中没有连续出现的行。

============================================

[root@stu100 ~]# uniq -f 2 -s 2 test
boy took bat home

忽略每行的前2个字段,忽略第二 个空白字符和第三个字段的首字符,结果at home

============================================

[root@stu100 ~]# uniq -f 1 test
boy took bat home
dog brought hat home

忽 略每行的第一个字段,这样boy ,girl开头的行看起来是连续重复的行。

============================================

[root@stu100 ~]# uniq -D test
boy took bat home
boy took bat home
boy took bat home
boy took bat home
dog brought hat home
dog brought hat home
dog brought hat home

显示所有重复的行,每个重复的行都显示

分享到:
评论

相关推荐

    Linux命令行里的“瑞士军刀”

    下面的这些内容是Quora网站上Joshua Levy网友的总结: 通过sort/uniq获取文件内容的交集、合集和不同之处:假设有a、b两个文本文件,文件本身已经去除了重复内容。下面是效率最高的方法,可以处理任何体积的文件,...

    Linux-命令行 管道(Pipelines)详解

     uniq, UNIQue, 输出没有重复行的数据; 参数-d, 可以输出重复行;  wc, 单词统计(Word Count); 参数-l, 只统计行;  grep, 输出匹配模式, Global Regular Expression Print, 全局正则表达式打印;  如...

    Linux使用教程(教程)

    删除重复行uniq 25 3. 不唯一 26 4. 对特定域进行测试 26 ※5.文件排序sort 26 ※6.文件的查找find 30 ※1、使用name选项 31 ※2、用perm选项 31 ※3、忽略某个目录 31 ※4、使用user和nouser选项 31 ※5、使用group...

    LINUX与UNIX SHELL编程指南(很全)

    11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...

    Linux shell编程指南

    11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...

    Linux与unix shell编程指南

    20.1.2 命令行输入的最后一个参数 225 20.1.3 使用shift处理文件转换 226 20.2 getopts 229 20.2.1 getopts脚本实例 229 20.2.2 getopts使用方式 231 20.2.3 使用getopts指定变量取值 231 20.2.4 访问取值方式 232 ...

    绝版经典《Linux与UNIX Shell编程指南》

    20.1.2 命令行输入的最后一个参数 225 20.1.3 使用shift处理文件转换 226 20.2 getopts 229 20.2.1 getopts脚本实例 229 20.2.2 getopts使用方式 231 20.2.3 使用getopts指定变量取值 231 20.2.4 访问取值方式 232 ...

    命令行文本处理:从查找文本到搜索和替换,从排序到美化文本等等

    命令行文字处理 了解可用于常见和特殊文本处理需求的各种命令。 示例已在GNU / Linux上进行了测试-其他发行版在语法/功能上有所不同,有关详细信息,请参见其各自的man页。 :warning_selector: :warning_selector: ...

    LINUX与UNIX SHELL编程指南 高清PDF

    11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...

    linux shell 编程教程

    linux shell编程 教程大全 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...

    LINUX与UNIX_Shell编程指南

    详细的介绍了Linux下的编程指南 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对...

    LINUX与UNIX SHELL编程指南

    11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 ...

Global site tag (gtag.js) - Google Analytics