令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。
1.语法
uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][–help][–version][输入文件][输出文件]
2.参数
-c, --count 在每行前加上表示相应行目出现次数的前缀编号
-d, --repeated 只输出重复的行
-D, --all-repeated[=delimit-method 显示所有重复的行
delimit-method={none(default),prepend,separate}
以空行为界限
-f, --skip-fields=N 比较时跳过前N 列
-i, --ignore-case 在比较的时候不区分大小写
-s, --skip-chars=N 比较时跳过前N 个字符
-u, --unique 只显示唯一的行
-z, --zero-terminated 使用’\0’作为行结束符,而不是新换行
-w, --check-chars=N 对每行第N 个字符以后的内容不作对照
–help 显示此帮助信息并退出
–version 显示版本信息并退出
3.示例
统计行数
last| awk ‘{S[$3]++}{for(a in S){print a}}’|sort |uniq -c| sort -rn
只显示重复的内容
last| awk ‘{S[$3]++}{for(a in S){print a}}’|sort |uniq -d
只显示出现一次的行
cat last.txt |uniq -u
删除重复的行
uniq testfile
————Blueicex 2020/2/23 15:33 blueice1980@126.com