python提取格式化日志
工作中使用python正则提取充值数据小练习
源数据日志格式:
[localhost bin]$ grep addcash original.log |head -2
2014-04-28 00:07:12 addcash:from=2209:account=8811730$efad:platform=efad:userid=354810:mac=E899C48805DF:os=2:roleid=33595401:lev=95:totalcash=49171100:cash=489900:yuanbao=1680:id1=SDXL1398623620882WCT:id2=110710793:hint=48.99:idfa=
2014-04-28 00:07:12 addcash1:from=2209:userid=354810:roleid=33595401:shapeid=10:school=17:lev=95:cash_rmb=489900:totalcash=49171100:oldserial=110313481:newserial=110710793{pOrderId=SDXL1398623620882WCT, amountUSD=48.99, orderStateMonth=201404, stone=1500, activityExtra=0, creditId=1107107932209, time=1398614832502, extraGold=0, userId=8811730, extraMoney=0, money=48.99, serverCode=2209, chargeType=0}:cash_add=1872:delta=1680:macaddress=E899C48805DF:clientsource=efadsmall:accountsource=efad:viplv=nullvalue:idfa=
[web@localhost bin]$ du -hs original.log
77M original.log
[localhost bin]$
要求使用tab键分割提取出充值信息保存在磁盘中
#!/usr/bin/env python
import os
import sys
import refile_name = 'original.log'reg='^(\d+-\d+-\d+\s+\d+:\d+:\d+).*addcash:from=(\d+):account=(.+)platform=(.+):userid=(\d+):mac=(.+):os=(\d+):roleid=(\d+):lev=(\d+):totalcash=(\d+):cash=(\d+):yuanbao=(\d+):id1=(.+):id2=(\d+):hint=(.+):idfa=(.*)'fw = open('result.txt','w')
f = open(file_name,'r')for line in f:m = re.match(reg,line)if m:fw.write('\t'.join([ x.strip() for x in list(m.groups()) ])+'\n')f.close()
fw.close()
运行结果:
[localhost bin]$ python AnalyCash.pl
[localhost bin]$ cat result.txt
2014-04-28 00:07:12 2209 8811730$efad: efad 354810 E899C48805DF 2 33595401 95 49171100 489900 1680 SDXL1398623620882WCT 110710793 48.99
2014-04-28 00:07:41 2209 11274790$efis: efis 758472 020000000000 3 136441865 90 2589600 299900 990 SDXLIOS139862611689W 110714889 29.99 59DD2C08-AFCF-4187-BFF8-118257DF3121
2014-04-28 00:28:59 2209 9841710$efis: efis 556597 020000000000 3 17506313 95 90737800 999900 3710 SDXLIOS139862595036C 110735369 99.99 8F7483E4-3797-44D5-9A8C-D51A68EA963E
.....
python提取格式化日志相关推荐
- linux日志生成速率统计,Linux学习29-awk提取log日志信息,统计日志里面ip访问次数排序...
前言 有一段log日志,需从日志里面分析,统计IP访问次数排序前10名,查看是否有异常攻击. 日志提取 如下日志,这段日志包含的信息内容较多,我们希望提取ip,访问时间,请求方式,访问路径(不带参数) ...
- python中格式化字符串_Python中所有字符串格式化的指南
python中格式化字符串 Strings are one of the most essential and used datatypes in programming. It allows the ...
- 如何使用Elasticsearch,Logstash和Kibana实时可视化Python中的日志
by Ritvik Khanna Ritvik Khanna着 如何使用Elasticsearch,Logstash和Kibana实时可视化Python中的日志 (How to use Elastic ...
- 基于python的Nginx日志管理分析系统
温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 本项目利用 pandas + sklearn 对 Nginx 的日志数据进行统计分析,并利用 fla ...
- 使用python提取华为交换机的接口IP信息保存到excel中(ensp模拟器)
实验环境: 如图所示,SW1-SW5上分别已经配置了SSH,使用外部PC可以SSH到其中. 在本次实验中,主要使用了如下三个模块: openpyxl,对excel文件进行操作,具体可以参考:https ...
- python提取关键词前后原文_python提取文本关键词
python提取关键词textrank算法,将数据库中的数据提取出来,然后进行分析,代码如下 import pymysql import jieba from textrank4zh import T ...
- 这篇文章有点长,但绝对是保姆级的Python字符串格式化讲解
相关文件 想学Python的小伙伴可以关注小编的公众号[Python日志] 有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!! Python学习交流群:773162165 前言 今 ...
- Python :格式化日期
介绍 Python 附带了各种有用的对象,可以直接使用.例如日期对象就是一个例子.由于日期和时间的复杂性,日期类型很难从头开始操作.所幸,Python 日期对象将日期转换成所需的字符串格式变得相当容易 ...
- python 字符串格式化是打印不同类型更简单一些
Python 支持格式化字符串的输出 与 C 中 sprintf 函数一样的语法 下面写3中不同类型的数据合在一起打印 name = "张三丰" height = 1.88 wei ...
- 简单介绍python format格式化和数字格式化
这篇文章主要介绍了python format格式化和数字格式化,格式化字符串的函数 str.format(),它增强了字符串格式化的功能,基本语法是通过{} 和 : 来代替以前的 % ,下面内容介绍, ...
最新文章
- Flask rst 文档转换为html格式文件
- 用gulp构建你的前端项目
- HTML5一个浪漫的程序猿:3D旋转爱心表白神器思路源码视频
- Java调用net的Webservice时提示:undefined element declaration 's:schema'
- js 页面所有超链接后加随机数 基于jquery
- Autodesk云计算系列视频 --- 云计算与Civil 3D
- 重磅发布 阿里云数据中台全新产品DataTrust聚焦企业数据安全保障
- spring的事务隔离_spring事务基础及常见问题详解
- Nginx 反向代理配置
- 以Flappy Bird破解为例介绍andriod apk加壳方法
- C++中之---数组和vector
- 基于WEB的达内学子书城/商城源代码
- 疯狂的程序员_《戴蓓会客厅》第13期|疯狂的程序员 三维家蔡志森的野心
- 现代控制理论——非线性系统的lyapunov
- GStreamer Windows 基辅3:全手动,声像作例,汝作大像也。导演:卡卡,你说老毛子东西啊?应该是 G 公创 Pad 极,1 曰 Video,二曰 Audio
- 签订房屋买卖居间合同后一方违约购房定金如何处理
- 重复渐变过渡 百分比
- outlook服务器邮件满了怎么办,outlook邮箱满了怎么清理
- hdu6638 Snowy Smile(线段树+最大子段和)
- java rgb转yuv_RGB,CMY(K),YUV,YIQ,YCbCr颜色的转换算法(java实现)