1、工作原理
去除相邻行的重复值,因为uniq 不会检查重复的行,除非它们是相邻的行,它一般会和sort命令进行组合使用
sort -n ./test4.log
10
10
10
20
20
50
60
100
2、uniq -c
行首位置输出行重复的次数
sort -n ./test4.log | uniq -c
3 10
2 20
1 50
1 60
1 100
通过可以 sort (-r) 执行升降序
2、uniq -u
把重复的行全删掉(一条都不保留),剩余不重复的全部显示出来
sort -n ./test4.log | uniq -u
50
60
100
10 和20 分别有3条和两条 所以被去除
3、uniq -d
只输出重复的行
sort -n ./test4.log | uniq -d
10
20
4、统计出access.log中访问量最多的2个ip
cat ./test5.log | awk '{print $1}' | sort
187.171.68.177
187.171.68.177
187.171.68.177
187.171.69.177
201.158.69.116
201.158.69.116
201.158.69.116
201.158.69.116
cat ./test5.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -2
4 201.158.69.116
3 187.171.68.177