1.功能:输出或删除重复行,但是相同的行要在相邻行才行
2.语法:uniq [OPTION]... [INPUT [OUTPUT]]
3.参数:
-c, --count 在每列的旁边显示重复出现的次数
-d, --repeated 仅显示重复出现的行
-D, --all-repeated[=delimit-method] 显示所有出现的重复行
-f, --skip-fields=N 跳过前N行
-i, --ignore-case 忽略大小写
-s, --skip-chars=N 跳过前N个字符
-u, --unique 只打印唯一出现的行
-w 指定要比较的字符
4.例子
1.在未经排序的情况下,直接使用uniq命令并不能查看重复行。
[mysql@mysql ~]$ uniq week.txt
Mon
Tue
Wed
Thu
Fri
mon
tue
wed
thu
fri
mon
tue
wed
thu
fri
2. 使用排序之后,使用uniq就可以把重复的行去除。
[mysql@mysql ~]$ sort week.txt |uniq
fri
Fri
mon
Mon
thu
Thu
tue
Tue
wed
Wed
3.使用了 -i参数之后,显示的行数就更少了。
[mysql@mysql ~]$ sort week.txt |uniq -i
fri
mon
thu
tue
wed
4.使用-c参数,在每列旁边显示了每行出现的次数。
[mysql@mysql ~]$ sort week.txt |uniq -i -c
3 fri
3 mon
3 thu
3 tue
3 wed
5. 为了测试-d 参数,在week.txt文件中加入sat 和sun
[mysql@mysql ~]$ sort week.txt |uniq -i
fri
mon
sat
sun
thu
tue
wed
[mysql@mysql ~]$ sort week.txt |uniq -i -d
fri
mon
thu
tue
wed
6.使用了 -D 参数,所有有重复的行都显示出来,而sat和sun没有显示。
[mysql@mysql ~]$ sort week.txt |uniq -i -D
fri
fri
Fri
mon
mon
Mon
thu
thu
Thu
tue
tue
Tue
wed
wed
Wed
7.而使用-u 就只显示sat和sun两行
[mysql@mysql ~]$ sort week.txt |uniq -i -u
sat
sun
本文出自 “三国冷笑话” 博客,请务必保留此出处http://myhwj.blog.51cto.com/9763975/1794001
原文地址:http://myhwj.blog.51cto.com/9763975/1794001