uniq命令

 

uniq命令

作用

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

语法:

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

参数

-c 显示重复行的次数

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

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

-u 仅显示不重复的行

-f 忽略的字段数量

-i 忽略大小写

 

事例:

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

[jeck@localhost ~]$ cat test

aaa

aaa

bbb

bbb

ccc

ccc

aaaaa

bbbbb

aaaaa

ccccc

bbbbb

ccccc

 

[jeck@localhost ~]$ uniq test

aaa

bbb

ccc

aaaaa

bbbbb

aaaaa

ccccc

bbbbb

ccccc

  1. 显示重复行出现的次数 -c

[jeck@localhost ~]$ uniq -c  test

      2 aaa

      2 bbb

      2 ccc

      1 aaaaa

      1 bbbbb

      1 aaaaa

      1 ccccc

      1 bbbbb

      1 ccccc

 

  1. 仅显示重复行 -d -D

[jeck@localhost ~]$ uniq -d  test

aaa

bbb

ccc

 

[jeck@localhost ~]$ uniq -D  test

aaa

aaa

bbb

bbb

ccc

ccc

 

  1. 仅显示不重复行

[jeck@localhost ~]$ uniq -u  test

aaaaa

bbbbb

aaaaa

ccccc

bbbbb

ccccc

  1. 忽略前1个字段,再比较重复

[jeck@localhost ~]$ cat test

aa aa

bb aa

cc aa

[jeck@localhost ~]$ uniq -f 1 -D test

aa aa

bb aa

cc aa

发现,忽略掉一个字符之后,后面都是aa,都重复了,所以加-D会显示出所有

 

原文地址:https://www.cnblogs.com/pycode/p/8734238.html