用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”命令
参考文献:
http://blog.chinaunix.net/uid-26960488-id-3215474.html
http://blog.csdn.net/ckstory/article/details/6229032
阅读(5386) | 评论(0) | 转发(0) |