1. sort -u

test文件是raw file,一共有5行,如下:

$ cat test

111

222

222

333

222


sort -u 是删去所有重复行并排序

$ sort -u test

111

222

333


2. uniq

uniq只删去连续的重复行

$ uniq test

111

222

333

222

3. uniq-c

打印每一重复行出现次数

$ uniq -c test

1 111

2 222

1 333

1 222


4. 例子

统计apache日志文件里访问量前十的ip并按从多到少排列, log文件中的第一个域是IP)

awk '{print $1}' log | sort -n | uniq -c | sort -nr | head