uniq命令

作用

uniq用于删除文本中相邻的重复的行,以及统计重复行的个数

语法:

uniq [ -c | -d | -u ] [ -f Fields ] [ -s Characters ] [ -Fields] [ +Characters ] [ InFile [ OutFile ] ]

参数

-c 显示重复行的次数

-d 仅显示重复行(只显示重复行的一次)

-D 显示重复的行(包括重复的内容)

-u 仅显示不重复的行

-f 忽略的字段数量

-i 忽略大小写

 

事例:

  • 删除相邻的重复行(必须是相邻)

[jeck@localhost~]$ cat testaaaaaabbbbbbccccccaaaaabbbbbaaaaacccccbbbbbccccc [jeck@localhost~]$ uniq testaaabbbcccaaaaabbbbbaaaaacccccbbbbbccccc
  • 显示重复行出现的次数 -c

[jeck@localhost~]$ uniq -c  test      2 aaa      2 bbb      2 ccc      1 aaaaa      1 bbbbb      1 aaaaa      1 ccccc      1 bbbbb      1 ccccc

 

  • 仅显示重复行 -d -D

[jeck@localhost~]$ uniq -d  testaaabbbccc [jeck@localhost~]$ uniq -D  testaaaaaabbbbbbcccccc

 

  • 仅显示不重复行

[jeck@localhost~]$ uniq -u  testaaaaabbbbbaaaaacccccbbbbbccccc
  • 忽略前1个字段,再比较重复

[jeck@localhost~]$ cat testaa aabb aacc aa[jeck@localhost~]$ uniq -f 1 -D testaa aabb aacc aa发现,忽略掉一个字符之后,后面都是aa,都重复了,所以加-D会显示出所有