免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1740 | 回复: 2
打印 上一主题 下一主题

提取日志 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-19 12:23 |只看该作者 |倒序浏览
2007-06-20 00:00:02,214 HttpServlet [http-8081-Processor16] INFO   - <-- START -->
2007-06-20 00:00:02,214 HttpServlet [http-8081-Processor16] INFO   - <c><d>china@unix.com</d>
2007-06-20 00:00:02,214 HttpServlet [http-8081-Processor16] INFO   - <-- END -->
2007-06-20 00:00:02,272 DefaultActionInvocation [http-8081-Processor16] WARN
......
2007-06-20 00:00:02,273 XMLOutputSupport [http-8081-Processor16] INFO   - [4]<c><p3>ERROR</p3>

我有这样的一段日志,我想提取其中的 “时间”,“<d></d>”和“<p3></p3>”里面的内容
其中“Processor16”是程序的进程,每一个正在运行的进程都回有唯一的进程号,也就是说在一段时间内这个字段是唯一的,但是过一阵子又会出现,所以不能作为准确的判断标准

我想提出成为

2007-06-20 00:00:02    china@unix.com      ERROR

请问如何提取呢?

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
2 [报告]
发表于 2007-07-19 12:48 |只看该作者
awk -F',' '/<d>/{gsub(/^.*<d>/,"",$2);gsub(/<\/d>$/,"",$2);a[$1]=$2}/<p3>/{gsub(/^.*<p3>/,"",$2);gsub(/<\/p3>$/,"",$2);a[$1]=a[$1]" "$2}END{for(i in a) print i,a}' urfile

论坛徽章:
0
3 [报告]
发表于 2007-07-19 13:46 |只看该作者
提示错误呀
awk: cmd. line:1: (FILENAME=myfile FNR=6) fatal: attempt to use array `a' in a scalar context

是我没说清楚
就是有这样的日志:
2007-06-20,214 [http-8081-Processor16]  <c><d>china@unix.com</d>
2007-06-20,273 [http-8081-Processor16]  [4]<c><p3>ERROR</p3>
2007-06-20,214 [http-8081-Processor25]  <c><d>china1@unix.com</d>
2007-06-20,214 [http-8081-Processor13]  <c><d>china2@unix.com</d>
2007-06-20,273 [http-8081-Processor13]  [a]<c><p3>OK</p3>
2007-06-20,273 [http-8081-Processor25]  [c]<c><p3>ERROR</p3>
2007-06-21,214 [http-8081-Processor16]  <c><d>china3@unix.com</d>
2007-06-21,273 [http-8081-Processor16]  [4]<c><p3>OK</p3>


我想提取出
2007-06-20 china@unix.com ERROR
2007-06-20 china1@unix.com OK
2007-06-20 china2@unix.com ERROR
2007-06-21 china3@unix.com OK

请问应该怎么写?
谢谢各位了!!!!

[ 本帖最后由 hoo7 于 2007-7-19 14:19 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP