1
Linux 之 uniq 命令
source link: https://segmentfault.com/a/1190000040554186
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Linux 之 uniq 命令
发布于 今天 14:46
显示或忽略重复的行。
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/...
微信公众号:入门小站
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK