场景描述:在日志文件中用python提取出自己需要的字段,在用shell来排序并把前n名输出到文件中。
从文日志里抓出想要的序列,排序之前:
序列号 所出现次数(未统计,默认为一)
排序之后:
1.从日志里利用正则提取关键字
-
#!/usr/bin/python
-
# coding:utf-8
-
-
import re
-
-
# 读取源代码文件
-
-
f = open('video-hotmodel-pipe_201611011054','r')
-
log = f.read()
-
f.close()
-
-
# 匹配提取关键字
-
-
id = re.findall('"id":"sv_(.*?)"',log)
-
i = 0
-
for each in id:
-
print each + " 1"
-
i += 1
2.利用shell来排序
-
#!/bin/bash
-
-
./find.py |sort -r |awk '{a[$1]+=$2}END{for (i in a) print i,a[i];}'|sort -rn -k2|head -n 1000 > top.txt
shell中的sort:利用ASCII进行排序的,加-n参数就是对数字了,-r就是降序排列,-k2是利用第二例来进行排序。
阅读(1894) | 评论(0) | 转发(0) |