免费注册 查看新帖 |

Chinaunix

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

[文本处理] 处理个非常大的文件用awk还是用Python? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2014-07-25 14:39 |只看该作者
是的,你说的那个是个时间戳,我要的是等号后面的数字,而等号后面那堆尖尖圈圈都是没用的分隔符。


比如我贴的那一堆数据,我就想把这一块滤出来

ROWKEY=14:10000012955^_
count:user_count@1398766330048=^@^@^@^@^@^@^@3^_
count:user_num@1398168030155=0^_
info:team@1398168029628=50008881^_


因为他的user_count的等号后面有个数字3,而且他的team也在我的范围内


回复 10# Herowinter


   

论坛徽章:
780
金牛座
日期: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
12 [报告]
发表于 2014-07-25 14:41 |只看该作者
回复 11# sulaimani_yu
。。。这个3潜伏得太深,没看到,我一眼看去,以为都是乱码。。。。

   

论坛徽章:
0
13 [报告]
发表于 2014-07-25 14:43 |只看该作者
对  那个^@的输入方法是:

ctrl-v,ctrl-shift-@  这两个顺序按下去,就会出现了

回复 12# Herowinter


   

论坛徽章:
780
金牛座
日期: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
14 [报告]
发表于 2014-07-25 16:31 |只看该作者
本帖最后由 Herowinter 于 2014-07-25 16:37 编辑

回复 13# sulaimani_yu

希望这个是你想要的,我5点半下班回家了,
真有问题估计要下周才能改了。
  1. awk -vt1="50008881" -vt2="50008898" 'BEGIN{RS="\\^\\^";ORS="";team[t1];team[t2]} {count=gensub(/.*user_count[^=]*=[\^@]*([0-9]+).*/,"\\1",1);if(count!=$0&&count!=0){tid=gensub(/.*team@[^=]*=([0-9]+).*/,"\\1",1);if(tid in team)print}}' i

  2. ROWKEY=14:10000012955^_
  3. count:user_count@1398766330048=^@^@^@^@^@^@^@3^_
  4. count:user_num@1398168030155=0^_
  5. info:team@1398168029628=50008881^_

  6. ROWKEY=14:10000012955^_
  7. count:user_count@1398766330048=^@^@^@^@^@^@^@13^_
  8. count:user_num@1398168030155=0^_
  9. info:team@1398168029628=50008898^_
复制代码
  1. cat i
  2. count:user_count@1405330702789=^@^@^@^@^@^@^@^@^_
  3. count:user_num@1405123296208=0^_
  4. info:team@1405123296982=50000671^_
  5. ^^
  6. count:user_count@1400000166287=^@^@^@^@^@^@^@^A^_
  7. count:user_num@1382241122888=0^_
  8. info:team@1383533112230=50008898^_
  9. ^^
  10. count:user_count@1396901933090=^@^@^@^@^@^@^@^B^_
  11. count:user_num@1396901933433=0^_
  12. info:team@1396901933270=50021422^_
  13. ^^
  14. ROWKEY=14:10000012955^_
  15. count:user_count@1398766330048=^@^@^@^@^@^@^@3^_
  16. count:user_num@1398168030155=0^_
  17. info:team@1398168029628=50008881^_
  18. ^^
  19. ROWKEY=14:10000011267^_
  20. count:user_num@1396901933433=0^_
  21. info:team@1396901933270=50021422^_
  22. ^^
  23. ROWKEY=14:10000012955^_
  24. count:user_count@1398766330048=^@^@^@^@^@^@^@13^_
  25. count:user_num@1398168030155=0^_
  26. info:team@1398168029628=50008898^_
复制代码

论坛徽章:
0
15 [报告]
发表于 2014-07-25 18:22 |只看该作者
个人认为用python可能好点
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP