Linux命令之uniq

uniq 命令用来删除重复的行。注意:uniq命令只用于相邻的行都是相同的情况,一般和sort配合使用。

命令格式:
uniq [选项] 输入文件 输出文件

命令参数:
-c 显示输出中,在每行行首加上本行在文件中出现的次数
-d 只显示重复行
-u 只显示不重复的行
-f N 前N个字段与每个字段的空白一起被忽略。
-s N 前N个字符被忽略
-w N 比较指定的N个字符

输入文件:如果为-,则从标准输入接受内容
输出文件:如果为-,则输出到标准输出
输入文件和输出文件不能相同

testfile内容:

~ $ cat testfile                                                                
boy took bat home                                                               
boy took bat home                                                               
girl took bat home                                                              
boy took bat home                                                               
boy took bat home                                                               
dog brought hat home                                                            
dog brought hat home                                                            
dog brought hat home    

在每行前面增加重复次数

~ $ uniq -c testfile                                                            
      2 boy took bat home                                                       
      1 girl took bat home                                                      
      2 boy took bat home                                                       
      3 dog brought hat home    

只显示重复行

~ $ uniq -d testfile                                                            
boy took bat home                                                               
boy took bat home                                                               
dog brought hat home 

上面的结果中前两行相同的原因是uniq只能合并相邻的相同行

只显示不重复行

~ $ uniq -u testfile                                                            
girl took bat home  

先跳过2个域,在跳过2个字符,最后是at home

~ $ uniq -f 2 -s 2 testfile                                                     
boy took bat home      

先跳过一个字符,在只比较下一个字符,即只比较第二个字符

~ $ uniq -s 1 -w 1 testfile                                                     
boy took bat home                                                               
girl took bat home                                                              
boy took bat home  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhengjihao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值