uniq
- 作用: 去重
- 语法: usage: uniq [-c | -d | -u] [-i] [input [output]]
选项
- -c ( --count): 在每列旁边显示重复出现的次数
- -d ( --repeated): 仅显示重复出现的行列
- -u ( --unique): 仅显示出一次的行列
- -i: 不区分大小写
参数
- input: 指定去重的文件, 不指定则从标准流读取
- output: 指定写入结果的文件, 不指定则输出到终端
sort
- 作用: 排序
- 语法: sort [选项] [input]
选项
- -b: 忽略每行前边开始出现的空格符
- -c: 检查是否已经按照顺序排序
- -n: 按照数值的大小排序
- -f: 排序时, 将小写字母视为大写字母
- -d: 排序时, 只处理英文字母,数字,和空格字符
- -i: 排序时, 只处理ascii码040-176之间的字符
- -o [output]: 将排序后结果输出到文件
- -r: 反序
- -t<分隔符>: 指定排序时用的分隔符
- +<起始栏位>-<结束栏位>: 以指定的排序范围
参数
示例
cat log |awk -F'|' '{print $3}'|sort|uniq -c|sort -nr|head -5
"""
1. 查看log
2. 使用awk工具, 指定分隔符为'|', 输出第三段
3. <2>作为sort的输出进行排序
4. <3>作为uniq的输入进行去重, -c参数显示重复数量
5. <4>作为sort的输入进行排序, -nr指定按照重复数量进行排序, 并且反序
6. <5>作为head的输入, 输出前5条数据
"""