免费注册 查看新帖 |

Chinaunix

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

[文本处理] 处理某个时间段内的日志内容该用什么技术? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-02-02 10:59 |只看该作者 |倒序浏览
日志中的每一条包含类似2012-03-28 18:25:39这样的字符串,我想显示某个时间段内的日志行(例如: 2012-03-28 下午18点整到2012-04-03 上午9点整)该用什么技术(C库,Linux自带utility)?如果去掉“几点整到几点整”这样的需求是不是容易些?

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
2 [报告]
发表于 2013-02-02 11:13 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2013-02-02 11:16 |只看该作者
日志内容类似下面这样:
STRING1 STRING2 STRING3[2012-03-28 18:25:39]: MSG
STRING1 STRING2 STRING3[2012-03-28 19:25:39]: MSG
STRING1 STRING2 STRING3[2012-03-28 20:25:39]: MSG
STRING1 STRING2 STRING3[2012-03-29 08:25:39]: MSG
STRING1 STRING2 STRING3[2012-03-30 11:25:39]: MSG
STRING1 STRING2 STRING3[2012-04-03 15:25:39]: MSG

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
4 [报告]
发表于 2013-02-02 12:09 |只看该作者
本帖最后由 关阴月飞 于 2013-02-02 12:10 编辑

回复 3# Coldiceangel



    例如: 2012-03-28 下午18点整到2012-04-03 上午9点整
  1. awk -F'[\\[\\]]'  '$2>="2012-03-28 18:00:00" && $2<="2012-04-03 09:00:00" '  logfile
复制代码

论坛徽章:
0
5 [报告]
发表于 2013-02-02 12:29 |只看该作者
AWK可以直接对字符串进行比较?
关阴月飞 发表于 2013-02-02 12:09
回复 3# Coldiceangel

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
6 [报告]
发表于 2013-02-02 12:47 |只看该作者
回复 5# Coldiceangel

你动手试试不就知道了吗???...........


   

论坛徽章:
0
7 [报告]
发表于 2013-02-02 13:17 |只看该作者
按说执行你的命令后shell会有输出,但现在是执行后啥反应没有,难道是日志文件格式不对?回复 6# 关阴月飞


   

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
8 [报告]
发表于 2013-02-02 13:32 |只看该作者
本帖最后由 关阴月飞 于 2013-02-02 13:41 编辑

回复 7# Coldiceangel
不知道你日志文件格式是怎么样的, 能否贴一个完整的出来看看??
先确定 日期字符串 在哪个域, 然后进行对比
下面用的是你在三楼贴出来的格式
  1. [root@rhel63]# cat log.txt
  2. STRING1 STRING2 STRING3[2012-03-28 18:25:39]: MSG
  3. STRING1 STRING2 STRING3[2012-03-28 19:25:39]: MSG
  4. STRING1 STRING2 STRING3[2012-03-28 20:25:39]: MSG
  5. STRING1 STRING2 STRING3[2012-03-29 08:25:39]: MSG
  6. STRING1 STRING2 STRING3[2012-03-30 11:25:39]: MSG
  7. STRING1 STRING2 STRING3[2012-04-03 15:25:39]: MSG
  8. [root@rhel63]# awk -F'[\\[\\]]' '$2>"2012-03-28 18:00:00"&&$2<"2012-04-03 09:00:00" ' log.txt
  9. STRING1 STRING2 STRING3[2012-03-28 18:25:39]: MSG
  10. STRING1 STRING2 STRING3[2012-03-28 19:25:39]: MSG
  11. STRING1 STRING2 STRING3[2012-03-28 20:25:39]: MSG
  12. STRING1 STRING2 STRING3[2012-03-29 08:25:39]: MSG
  13. STRING1 STRING2 STRING3[2012-03-30 11:25:39]: MSG
复制代码

论坛徽章:
0
9 [报告]
发表于 2013-02-02 14:09 |只看该作者
我大概知道什么原因了,我用的是开发板上的busybox的awk命令,执行后无任何反应;换到台式机上(x86-Fedora)执行就可得到想要的结果。
# awk
BusyBox v1.18.4 (2013-01-16 16:00:18 CST) multi-call binary.

Usage: awk [OPTIONS] [AWK_PROGRAM] [FILE]...

Options:
        -v VAR=VAL      Set variable
        -F SEP          Use SEP as field separator
        -f FILE         Read program from FILE
回复 8# 关阴月飞


   

论坛徽章:
0
10 [报告]
发表于 2013-02-02 14:13 |只看该作者
本帖最后由 Coldiceangel 于 2013-02-02 14:13 编辑

我从另一个地方求得了相似的命令行:
awk -vFS="[][]" '$2>="2012-03-28 18:00:00" && $2<="2012-04-02 09:00:00"' ff
可以满足需求,就是不知你们的方式有何差别,反正我是不懂awk
关阴月飞 发表于 2013-02-02 12:09
回复 3# Coldiceangel
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP