linux uniq、sort命令详解

uniq命令

功能: uniq的功能就对重复的行去重,一般会和sort命令一起使用,当文件经过处理后的输出文件中很有可能出现重复的行,这时候可以使用uniq命令将重复的行从输出文件中去除,只保留唯一的记录。

示例:
access.log中内如下
10.200.124.242    http://vip.tx.com/charge/7daycharge?req=VCJVLKSJDLESJIF
192.168.0.136     http://vip.tx.com/charge/7daycharge?req=YEODLLDCDVSDDVDDE
10.200.124.242         http://vip.tx.com/charge/7daycharge?req=VCJVLKSJDLESJIFsd

使用如下命令对第一个元素的行去重:
cat access.log | awk '{printf "%-10s\n",$1}' | sort| uniq  

输出结果为:
10.200.124.242
192.168.0.136

使用如下命令对统计各行在文件中的出现次数:加个-c参数
cat access.log | awk '{printf "%-10s\n",$1}' | sort| uniq -c

输出结果为:
2 10.200.124.242
2 192.168.0.136

使用如下命令检索文件中重复出现的行:
cat access.log | awk '{printf "%-10s\n",$1}' | sort| uniq -d

输出结果为:  
10.200.124.242
192.168.0.136


sort命令


对第一个元素的行去重:
cat access.log | awk '{printf "%-10s\n",$1}' | sort -u

猜你喜欢

转载自blog.csdn.net/fanrenxiang/article/details/80338318