Chinaunix首页 | 论坛 | 博客
  • 博客访问: 268851
  • 博文数量: 84
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 927
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-06 23:00
个人简介

growing

文章分类

全部博文(84)

文章存档

2017年(6)

2016年(61)

2015年(17)

我的朋友

分类: LINUX

2016-11-01 14:16:51

场景描述:在日志文件中用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是利用第二例来进行排序。
阅读(1894) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~