uniq 命令详解
功能
报告或过滤文件中相邻的重复的行
命令说明
uniq [-c | -d | -D | -u] [-i] [-f num] [-s chars] [input_file [output_file]]
由于该命令只处理相邻的行,所以一般会与sort命令搭配使用
示例文件
文件名为uniq.txt,文件内容如下
aaa
bbb
bbb
bbb
aaa
ccc
CCC
11ddd
22ddd
44ddd44
选项
无选项
uniq uniq.txt
// 输出如下
aaa
bbb
aaa
ccc
CCC
11ddd
22ddd
44ddd44
-c, --count
在每个输出行之前输入该行在输入中出现的次数,后跟一个空格。
uniq -c uniq.txt
// 输出如下
1 aaa
3 bbb
1 aaa
1 ccc
1 CCC
1 11ddd
1 22ddd
1 44ddd44
-d, --repeated
只显示重复的行,也就是只显示-c选项中个数大于2的行
uniq -d uniq.txt
// 输出如下
bbb
-D, --all-repeated
显示全部重复的行
uniq -D uniq.txt
// 输出如下
bbb
bbb
bbb
-f, --skip-fields=N
不比较起初的N栏,每栏以tab分割
-i, --ignore-case
忽略大小写
uniq -d -c -i uniq.txt
// 输出如下
3 bbb
2 ccc
注意ccc的行,ccc与CCC 被认为是重复行
-s, --skip-chars=N
不比较起初的N个字符
uniq -s 2 -c uniq.txt
// 输出如下
1 aaa
3 bbb
1 aaa
1 ccc
1 CCC
2 11ddd
1 44ddd44
-u, --unique
仅显示无重复的行
uniq -u uniq.txt
// 输出如下
aaa
aaa
ccc
CCC
11ddd
22ddd
44ddd44
-w, --check-chars=N
每行中比较不超过N个字符
uniq -s 2 -w 3 -c uniq.txt
// 输出如下
1 aaa
3 bbb
1 aaa
1 ccc
1 CCC
3 11ddd
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步