uniq命令

 

uniq命令

作用

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

语法:

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

参数

-c 显示重复行的次数

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

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

-u 仅显示不重复的行

-f 忽略的字段数量

-i 忽略大小写

 

事例:

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

[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
  • 显示重复行出现的次数 -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  test
aaa
bbb
ccc
 
[jeck@localhost~]$ uniq -D  test
aaa
aaa
bbb
bbb
ccc
ccc

 

  • 仅显示不重复行

[jeck@localhost~]$ uniq -u  test
aaaaa
bbbbb
aaaaa
ccccc
bbbbb
ccccc
  • 忽略前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会显示出所有

 


你可能感兴趣的:(linux,命令,uniq)