Linux 之 uniq 命令
显示或忽略重复的行。命令格式
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个字符进行比较【Linux 之 uniq 命令】原文链接:https://rumenz.com/rumenbiji/...
微信公众号:入门小站
推荐阅读
- PMSJ寻平面设计师之现代(Hyundai)
- 太平之莲
- 闲杂“细雨”
- 七年之痒之后
- 深入理解Go之generate
- 由浅入深理解AOP
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 生活随笔|好天气下的意外之喜
- 感恩之旅第75天
- python学习之|python学习之 实现QQ自动发送消息