每天学习一个命令:uniq 打印唯一行

2018-02-08 10:21:32来源:http://einverne.github.io/post/2018/02/uniq-command.html作者:Verne in GitHub人点击

分享


查看man uniq
得知这个命令是用来显示,或者隐藏重复行的命令,一般情况下使用管道命令组合其他cat
,grep
,awk
,sort
等等使用。可用来过滤重复行,或者找到文本中重复的行。


基本使用


uniq
的基本使用如下:


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


uniq
会从标准输入读取数据,过滤相邻的行,并将结果输出到标准输出。如果没有其他选项,重复的行会合并到第一次出现的行上。


一些常用参数


-c
在每一行前打印行出现的次数
-d
只打印重复的行,重复的行只打印一次
-D
打印出所有重复的行
-f
在比较时跳过前N个fields
-i
在比较重复行时忽略大小写
-s
在比较时忽略前N字符
-u
只打印唯一的行
-w
比较时只比较每一行的前N个字符

通常情况下field是由空格或者 TABs 分割的。



通常情况下,uniq
会和sort
搭配使用。



命令返回0
或者>0
的数值表示退出,如果为0
表示运行成功,>0
的数值表示发生错误。


实例

打印重复行的数量


sort file.txt | uniq -c


可以使用-s
参数跳过开头N个字符


cat /var/log/nginx.log | uniq -s 10

微信扫一扫

第七城市微信公众平台