用linux命令分析文件-排序-统计(sort, uniq, awk)
1、升序排序且列举相同的数据的数目,相同的只显示一次。
- [root@localhost udp]# sort sortdata.txt | uniq -c
- 1 3366614912
- 1 9787115242907
- 2 9787115253293
- 2 9787302115199
- 2 9787302142201
2、打印重复条数在两条以上的整行数据
- [root@localhost udp]# sort sortdata.txt | uniq -c | awk '$1>=2 {print $0}'
- 2 9787115253293
- 2 9787302115199
- 2 9787302142201
- [root@localhost udp]#
条件: “$1>=2”: 第一列的数据>=2
print $0 : 打印整行
下面是只打印第一列和同时打印第一、二列的情况:
将结果写到一个文件中:
- [root@localhost udp]# sort sortdata.txt | uniq -c | awk '$1>=2 {print $1,$2}' >sortdata01.txt
3、uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。c 显示输出中,在每行行首加上本行在文件中出现的次数。
4、grep和管道符“|”
grep 搜索、匹配、过滤
管道符“|”:将管道左边的输出作为管道右边的输入。
命令:
- [root@localhost udp]# history|grep "make clean"
作用是从历史上输入的命令刻录中过滤所有“make clean”命令
参考文献: