显示或疏忽反复的行。
命令格局
uniq [选项]... [文件]
命令选型
- -c, –count 在每行结尾减少反复次数。
- -d, –repeated 所有邻近的反复行只被打印一次。
- -D 所有邻近的反复即将全副打印。
- –all-repeated[=METHOD] 相似于 -D,但容许每组之间以空行宰割。METHOD取值范畴{none(默认),prepend,separate}。
- -f, –skip-fields=N 跳过对前N个列的比拟。
- –group[=METHOD] 显示所有行,容许每组之间以空行宰割。METHOD取值范畴:{separate(默认),prepend,append,both}。
- -i, –ignore-case 疏忽大小写的差别。
- -s, –skip-chars=N 跳过对前N个字符的比拟。
- -u, –unique 只打印非邻近的反复行。
- -z, –zero-terminated 设置行终止符为NUL(空),而不是换行符。
- -w, –check-chars=N 只对每行前N个字符进行比拟。
- –help 显示帮忙信息并退出。
- –version 显示版本信息并退出。
命令参数
- INPUT(可选):输出文件,不提供时为规范输出。
- OUTPUT(可选):输入文件,不提供时为规范输入。
命令返回值
返回0示意胜利,返回非0值示意失败。
试验文本
> cat 1.txt 123 456 789 123 123 333 123 eee rrr
相邻行去重
> uniq 1.txt 123 456 789 123 333 123 eee rrr
文件每行排序后,相邻行去重
> sort 1.txt | uniq 123 333 456 789 eee rrr //或者 > sort -u 1.txt 123 333 456 789 eee rrr
统计各行在文件中呈现的次数
> sort 1.txt | uniq -c 4 123 1 333 1 456 1 789 1 eee 1 rrr
先排序后统计反复的次数
查找文件中反复的行
> sort 1.txt | uniq -d 123
uniq只检测邻近的行是否反复,sort -u将输出文件先排序而后再解决反复行
疏忽每行的前N个字符
> uniq -s 3 1.txt
疏忽每行的前3个字符,比拟前面的字符
只对前N个字符进行比拟
> uniq -w 3 1.txt
只对每行的前3个字符进行比拟
原文链接:https://rumenz.com/rumenbiji/…
微信公众号:入门小站