免费注册 查看新帖 |

Chinaunix

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

help~ 数据统计shell [复制链接]

论坛徽章:
0
21 [报告]
发表于 2010-07-15 18:01 |只看该作者
回复 8# bbgg1983


    你的头像也不错{:3_203:}

论坛徽章:
0
22 [报告]
发表于 2010-07-16 09:58 |只看该作者
回复 1# jerryswxs
  1. 07/14/10 15:46:21 :     CALLIN in ch 1: Caller = 13888888888, Called = 88888113877777777
  2. 07/14/10 15:46:21 : INFO: dialInCaller--> 13888888888, dialInCalled--> 88888113877777777
  3. 07/14/10 15:46:21 : makeDialRouter return RESULT_OK
  4. 07/14/10 15:46:21 :     BEGINNING CALLOUT : Caller = 8888812345678, Called = 13877777777
  5. 07/14/10 15:46:21 : SsmPickup(38)
  6. 07/14/10 15:46:21 : Auto dial out : ch = 38
  7. 07/14/10 15:46:25 : Ringing ...
  8. 07/14/10 15:46:25 : Backward call indicators: 1214
  9. 07/14/10 15:46:46 : Hangup channel 1
  10. 07/14/10 15:46:46 : Hangup channel 38
  11. 07/14/10 15:47:04 :     CALLIN in ch 56: Caller = 13888888888, Called = 88888113877777777
  12. 07/14/10 15:47:04 : INFO: dialInCaller--> 13888888888, dialInCalled--> 88888113877777777
  13. 07/14/10 15:47:04 : makeDialRouter return RESULT_OK
  14. 07/14/10 15:47:04 :     BEGINNING CALLOUT : Caller = 8888812345678, Called = 13877777777
  15. 07/14/10 15:47:04 : SsmPickup(45)
  16. 07/14/10 15:47:04 : Auto dial out : ch = 45
  17. 07/14/10 15:47:05 :     CALLIN in ch 52: Caller = 13888888888, Called = 88888113877777777
  18. 07/14/10 15:47:05 : INFO: dialInCaller--> 13888888888, dialInCalled--> 88888113877777777
  19. 07/14/10 15:47:05 : makeDialRouter return RESULT_OK
  20. 07/14/10 15:47:05 :     BEGINNING CALLOUT : Caller = 8888812345678 Called =
  21. 13877777777
  22. 07/14/10 15:47:05 : SsmPickup(47)
  23. 07/14/10 15:47:05 : Auto dial out : ch = 47
  24. 07/14/10 15:47:08 : Ringing ...
  25. 07/14/10 15:47:08 : Backward call indicators: 1214
  26. 07/14/10 15:47:09 : Ringing ...
  27. 07/14/10 15:47:09 : Backward call indicators: 1214
  28. 07/14/10 15:47:09 : INFO: getRingBackTone ringBackId = -1
  29. 07/14/10 15:47:09 : ERROR: set ringBackId = 1(default)
  30. 07/14/10 15:47:09 :     PLAY 4401: in channel 52
  31. 07/14/10 15:47:18 : Hangup channel 56
  32. 07/14/10 15:47:18 : Hangup channel 45
  33. 07/14/10 19:26:26 :     CALLIN in ch 5: Caller = 13888888888, Called = 88888113877777777
  34. 07/14/10 19:26:26 : INFO: dialInCaller--> 13888888888, dialInCalled--> 88888113877777777
  35. 07/14/10 19:26:26 : makeDialRouter return RESULT_IVR
  36. 07/14/10 19:26:26 : SsmPickup(5)
  37. 07/14/10 19:26:26 :     PLAY 4328: in channel 5
  38. 07/14/10 19:26:45 : 7
  39. 07/14/10 19:26:45 :     PLAY 4045: in channel 5
  40. 07/14/10 19:27:01 :     PLAY 4045: in channel 5
  41. 07/14/10 19:27:01 : Hangup channel 5
  42. 07/14/10 19:27:14 :     CALLIN in ch 39: Caller = 13888888888, Called = 88888113877777777
  43. 07/14/10 19:27:14 : INFO: dialInCaller--> 13888888888, dialInCalled--> 88888113877777777
  44. 07/14/10 19:27:14 : makeDialRouter return RESULT_IVR
  45. 07/14/10 19:27:14 : SsmPickup(39)
  46. 07/14/10 19:27:14 :     PLAY 4328: in channel 39
  47. 07/14/10 19:27:19 : 1
  48. 07/14/10 19:27:19 :     PLAY 4045: in channel 39
  49. 07/14/10 19:27:33 : 1
  50. 07/14/10 19:27:33 :     PLAY 4015: in channel 39
  51. 07/14/10 19:27:46 : Hangup channel 39
复制代码
楼主的这个日志文件真是相当的奇葩, 规律完全是乱七八糟的.
    按照楼主的意思猜想了规则:
必须像下面那样, 有INFO: dialInCaller开始, 并且BEGINNING CALLOUT : 结束才会有输出
  1. 07/14/10 17:17:59 : INFO: dialInCaller--> 123456789, dialInCalled--> 88888111111111
  2. 中间随便啥数据
  3. 07/14/10 17:17:59 :  BEGINNING CALLOUT : Caller =88888987654321, Called = 111111111
复制代码
而且像第18~20行那样, BEGINNING CALLOUT这一行不但最后没有号码, 而且在Called前面的逗号也没有这样的不规则行也不输出
  1. 07/14/10 15:47:05 : INFO: dialInCaller--> 13888888888, dialInCalled--> 88888113877777777
  2. 07/14/10 15:47:05 : makeDialRouter return RESULT_OK
  3. 07/14/10 15:47:05 :     BEGINNING CALLOUT : Caller = 8888812345678 Called =
复制代码
最终代码:

  1. 这个是采用的第一楼楼主数据
  2. [mgqw@localhost 9999]$ awk -F"[=,>]+" '{ if($0~/INFO: dialInCaller/){a=$2;b=$4}; if($0~/BEGINNING CALLOUT :/&&NF==4){printf("%s %s--->>   %s   %s\n", a, $2, b, $4 ) } }' 6
  3. 123456789 88888987654321--->>    88888111111111    111111111


  4. 这个是采用的很长的数据
  5. [mgqw@localhost 9999]$ awk -F"[=,>]+" '{ if($0~/INFO: dialInCaller/){a=$2;b=$4}; if($0~/BEGINNING CALLOUT :/&&NF==4){printf("%s %s--->>   %s   %s\n", a, $2, b, $4 ) } }' 5
  6. 13888888888  8888812345678--->>    88888113877777777    13877777777
  7. 13888888888  8888812345678--->>    88888113877777777    13877777777
复制代码

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
23 [报告]
发表于 2010-07-16 10:32 |只看该作者

论坛徽章:
0
24 [报告]
发表于 2010-07-17 12:38 |只看该作者
#awk -F'(-->)|,|=| |\t' '/INFO: dialInCaller-->/{caller=$7;called=$NF};/BEGINNING CALLOUT/{print caller,$14" --->> "called,$NF}' test.txt  
13888888888 8888812345678 --->> 88888113877777777 13877777777
13888888887 8888812345675 --->> 88888113877777777 13877777777
13888888886 8888812345676 --->> 88888113877777777 13877777777

论坛徽章:
1
技术图书徽章
日期:2013-09-25 21:06:29
25 [报告]
发表于 2010-07-17 15:01 |只看该作者
#!/bin/bash

a=`grep -e "dialInCaller" | grep -v grep | awk -F "--->" '{print $1}' | awk -F "," '{print "$2\t"}'`
b=`grep -e "Caller" | grep -v grep | awk -F "=" '{print $2}' | awk -F "," '{print "$1\t"}'`
c=`grep -e "dialInCalled" | grep -v grep | awk -F "--->" '{print $3}'`
d=`grep -e "Called" | grep -v grep | awk -F "=" '{print $3}'`

echo "$a  $b ---->> $c $d"

exit 0

论坛徽章:
0
26 [报告]
发表于 2010-07-19 22:41 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
27 [报告]
发表于 2010-07-20 13:21 |只看该作者
谢谢大家

论坛徽章:
0
28 [报告]
发表于 2010-07-20 13:25 |只看该作者
回复 22# mgqw


    大哥,多谢了~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP