你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux uniq命令

[日期:2017-08-31] 来源:Linux社区  作者:Linux [字体: ]

uniq是去重,不相邻的行不算重复值。

uniq [OPTION]... [INPUT [OUTPUT]]

选项说明:

-c:统计出现的次数(count)。

-d:只显示被计算为重复的

-D:显示所有被计算为重复的

-u:显示唯一值,即没有重复值的

-i:忽略大小写。

-z:在末尾使用\0,而不是换行符。

-f:跳过多少个字段(field)开始比较重复值。

-s:跳过多少个字符开始比较重复值。

-w:比较重复值时每行比较的最大长度。即对每行多长的字符进行比较。

示例:

[root@linuxidc tmp]# cat uniq.txt
111
223
56
111
111
567
223

下面的命令删除了相邻的重复行,但是第一行111没有删除。

[root@linuxidc tmp]# uniq uniq.txt
111
223
56
111   # 删除了重复的111
567
223

排序后去重。

[root@linuxidc tmp]# sort uniq.txt | uniq
111
223
56
567

使用-d显示重复的行。

[root@linuxidc tmp]# sort uniq.txt | uniq  -d
111
223

使用-D显示所有重复过的行。

[root@linuxidc tmp]# sort uniq.txt | uniq  -D
111
111
111
223
223

使用-u显示唯一行。

[root@linuxidc tmp]# sort uniq.txt | uniq  -u
56
567

使用-c统计哪些记录出现的次数。

[root@linuxidc tmp]# sort uniq.txt | uniq  -c  
      3 111
      2 223
      1 56
      1 567

使用-d -c统计重复行出现的次数。

[root@linuxidc tmp]# sort uniq.txt | uniq  -d -c
      3 111
      2 223

-c不能和-D一起使用。结果说显示所有重复行再统计重复次数是毫无意义的行为。

[root@linuxidc tmp]# sort uniq.txt | uniq  -D -c
uniq: printing all duplicated lines and repeat counts is meaningless
Try `uniq --help' for more information.

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-08/146608.htm

linux
相关资讯       uniq命令  Linux uniq 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款