免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: purelove_88
打印 上一主题 下一主题

[文本处理] 亲们。。。我又来求助了!! [复制链接]

论坛徽章:
0
11 [报告]
发表于 2014-07-11 14:42 |只看该作者
回复 9# yestreenstars


[2014-07-11 14:38:24] {"log_type":"ROLE_LOGIN","log_data":{"SERVER_ID":"11","ROLE_ID":"1897","CHANNEL_CODE":"uc","ROLE_LEVEL":"48","USER_ID":"CU20140710030409846","OPERATION":"12","LOGIN_DATE":"1405060670603","LOGOUT_DATE":"1405060704060","GAME_TIME":"33456","CREATE_DATE":"1404964589117"}}


两个log文件的日志格式是一样的

我想从11号的日志中找到10号同样登陆的玩家,用user_id作为标准,进行对比。

   

论坛徽章:
0
12 [报告]
发表于 2014-07-11 14:44 |只看该作者
回复 10# reyleon

1:我们公司的日志格式是json的,如下
[2014-07-11 14:38:24] {"log_type":"ROLE_LOGIN","log_data":{"SERVER_ID":"11","ROLE_ID":"1897","CHANNEL_CODE":"uc","ROLE_LEVEL":"48","USER_ID":"CU20140710030409846","OPERATION":"12","LOGIN_DATE":"1405060670603","LOGOUT_DATE":"1405060704060","GAME_TIME":"33456","CREATE_DATE":"1404964589117"}}


2:我们的日志文件,是每日保存,现在有10号和11号两个日志,我想用11号的日志文件与10号的做对比,如果10号的日志中包含的userid在11号的日志中也登陆了,那么记做一次有效数据


3:我想做的就是11号和10号的日志对比,确定次日留存率

求教育啊。。。。


   

论坛徽章:
771
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
13 [报告]
发表于 2014-07-11 15:18 |只看该作者
回复 12# purelove_88
瞎猜一个,不对再改吧。
  1. awk '{uid=gensub(/.*USER_ID":"([^"]*).*/,"\\1",1)} NR==FNR{a[uid];next} {if(uid in a){b[uid];count++}} END{print "USER_ID exists in both log files:";for(i in b)print i;print "total:"count}' 1.log 2.log
  2. USER_ID exists in both log files:
  3. CU20140710030409846
  4. total:1
复制代码
  1. cat 1.log
  2. [2014-07-10 14:38:24] {"log_type":"ROLE_LOGIN","log_data":{"SERVER_ID":"11","ROLE_ID":"1897","CHANNEL_CODE":"uc","ROLE_LEVEL":"48","USER_ID":"CU20140710030409846","OPERATION":"12","LOGIN_DATE":"1405060670603","LOGOUT_DATE":"1405060704060","GAME_TIME":"33456","CREATE_DATE":"1404964589117"}}
  3. [2014-07-10 14:38:24] {"log_type":"ROLE_LOGIN","log_data":{"SERVER_ID":"11","ROLE_ID":"1897","CHANNEL_CODE":"uc","ROLE_LEVEL":"48","USER_ID":"CU20140710030409847","OPERATION":"12","LOGIN_DATE":"1405060670603","LOGOUT_DATE":"1405060704060","GAME_TIME":"33456","CREATE_DATE":"1404964589117"}}

  4. cat 2.log
  5. [2014-07-11 14:38:24] {"log_type":"ROLE_LOGIN","log_data":{"SERVER_ID":"11","ROLE_ID":"1897","CHANNEL_CODE":"uc","ROLE_LEVEL":"48","USER_ID":"CU20140710030409846","OPERATION":"12","LOGIN_DATE":"1405060670603","LOGOUT_DATE":"1405060704060","GAME_TIME":"33456","CREATE_DATE":"1404964589117"}}
  6. [2014-07-11 14:38:24] {"log_type":"ROLE_LOGIN","log_data":{"SERVER_ID":"11","ROLE_ID":"1897","CHANNEL_CODE":"uc","ROLE_LEVEL":"48","USER_ID":"CU20140710030409848","OPERATION":"12","LOGIN_DATE":"1405060670603","LOGOUT_DATE":"1405060704060","GAME_TIME":"33456","CREATE_DATE":"1404964589117"}}
复制代码

论坛徽章:
60
20周年集字徽章-20	
日期:2020-10-28 14:04:3015-16赛季CBA联赛之北京
日期:2016-07-06 15:42:0715-16赛季CBA联赛之同曦
日期:2016-06-12 10:38:0915-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56黄金圣斗士
日期:2015-12-02 11:44:35白银圣斗士
日期:2015-11-25 14:32:43白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:5315-16赛季CBA联赛之广东
日期:2016-07-12 14:58:53
14 [报告]
发表于 2014-07-11 15:43 |只看该作者
回复 12# purelove_88
  1. #!/usr/bin/python
  2. # -*- coding:utf-8 -*-
  3. import json
  4. import re

  5. # 昨天的日志文件
  6. ztlog = 'log0710'
  7. allUserId = []
  8. zt = open(ztlog).readlines()
  9. for r in zt :
  10.     jsonString = re.sub(r'\[.*?\]','',r)
  11.     data = json.loads(jsonString)
  12.     allUserId.append(data['log_data']['USER_ID'])

  13. # 有效计数
  14. sum = 0
  15. # 今天的日志文件
  16. jtlog = 'log0711'
  17. jt = open(jtlog).readlines()
  18. for r in jt :
  19.     jsonString = re.sub(r'\[.*?\]','',r)
  20.     data = json.loads(jsonString)
  21.     if data['log_data']['USER_ID'] in allUserId:
  22.         sum+=1
  23. print sum
复制代码

论坛徽章:
771
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
15 [报告]
发表于 2014-07-11 15:50 |只看该作者
回复 14# reyleon
处理Jason用python好点,不像咱用的是土办法,学习学习。

   

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
16 [报告]
发表于 2014-07-11 16:00 |只看该作者
回复 15# Herowinter

@jason680有人要处理你~
   

论坛徽章:
771
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
17 [报告]
发表于 2014-07-11 16:06 |只看该作者
回复 16# yestreenstars
造得一手好谣。

   

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
18 [报告]
发表于 2014-07-11 16:16 |只看该作者
  1. sed -e 's/^.*USER_ID":"\([^"]\+\)".*$/\1/' log1 | sort -u > log1.user
  2. sed -e 's/^.*USER_ID":"\([^"]\+\)".*$/\1/' log2 | sort -u > log2.user
  3. grep -c -Ff log1.user log2.user
复制代码
不知道效率如何. 数据量太少, 没法测试.

论坛徽章:
11
CU十二周年纪念徽章
日期:2013-10-24 15:41:342015年辞旧岁徽章
日期:2015-03-03 16:54:15丑牛
日期:2015-01-14 10:36:40技术图书徽章
日期:2015-01-12 15:46:11白羊座
日期:2014-11-14 09:35:36狮子座
日期:2014-10-30 13:18:49巳蛇
日期:2014-10-11 12:52:08子鼠
日期:2014-09-28 14:11:06双鱼座
日期:2014-04-22 13:05:48午马
日期:2014-02-11 17:58:002015年迎新春徽章
日期:2015-03-04 09:55:28
19 [报告]
发表于 2014-07-11 16:23 |只看该作者
回复 5# Herowinter

我也好羡慕啊。。。游戏运维大神都在30K的。。。。


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP