在日志中提取信息并排序。

1950阅读 0评论2016-11-01 enenshiwo
分类:LINUX

场景描述:在日志文件中用python提取出自己需要的字段,在用shell来排序并把前n名输出到文件中。

从文日志里抓出想要的序列,排序之前:

序列号  所出现次数(未统计,默认为一


排序之后:


1.从日志里利用正则提取关键字

  1. #!/usr/bin/python
  2. # coding:utf-8

  3. import re

  4. # 读取源代码文件

  5. f = open('video-hotmodel-pipe_201611011054','r')
  6. log = f.read()
  7. f.close()

  8. # 匹配提取关键字

  9. id = re.findall('"id":"sv_(.*?)"',log)
  10. i = 0
  11. for each in id:
  12.    print each + " 1"
  13.    i += 1
2.利用shell来排序


  1. #!/bin/bash

  2. ./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是利用第二例来进行排序。
上一篇:grep,sed,awk速查备忘。
下一篇:python将类似“/u4e00-/u9fa5 ”输出成中文