网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标签的border 样式在浏览器中显示不出来的解决方法
  • 剖析标注HTML元素时class比id所具有的优势
  • Table显示你要显示的边框代码
  • monthly journal
  • monthly mortgage
  • monthly payment
  • monthly pension
  • monthly precipitation
  • monthly premium
  • monthly publication
  • monthly quota
  • monthly rainfall
  • monthly salary
  • 候机楼
  • 候潮
  • 候补
  • 候诊
  • 候账
  • 候车
  • 候选人
  • 候驾
  • 候鸟
  • 江西省2015年提前批本科缺额院校网上征集志愿说明
  • 2015年长治医学院开学时间答考生问
  • 攀枝花学院2015年艺术校考成绩及普通高考录取查询入口
  • 中国科学技术大学2015年招生章程
  • 江西省2015年提前批次本科院校缺额情况及其缺额专业统计表
  • 2015年湖北工程学院河北/河南艺术本科录取结束
  • 成都学院(成都大学)2015年高考录取查询入口
  • 成都学院(成都大学)2015年艺考成绩查询入口
  • 成都学院(成都大学)2015年高水平运动员成绩录取查询入口
  • 江苏省2015年文科类提前录取本科批次征求平行志愿计划(农村学生专项计划)
  • 标题 ruby中在终端命令行上调试grok表达式
    范文
        用 logstash 的人都知道在 上面调试 grok 正则表达式。现在问题来了:翻墙技术哪家强? 页面中用到了来自 google 域名的 js 文件,所以访问经常性失败。所以,在终端上通过命令行方式快速调试成了必需品。
        其实在 logstash 还在 1.1 的年代的时候,官方 wiki 上是有一批专门教大家怎么通过 irb 交互式测试 grok 表达式的。但不知道为什么后来 wiki 这页没了…… 好在代码本身不复杂,稍微写几行脚本,就可以达到目的了:
        代码如下:
        #!/usr/bin/env ruby
        require 'rubygems'
        gem 'jls-grok', '=0.11.0'
        require 'grok-pure'
        require 'optparse'
        require 'ap'
        options = {}
        argv.push('-h') if argv.size === 0
        optionparser.new do |opts|
        opts.banner = 'run grokdebug at your terminal.'
        options[:dirs] = %w(patterns)
        options[:named] = false
        opts.on('-d dir1,dir2', '--dirs dir1,dir2', array, 'set grok patterns directories. default: ./patterns') do |value|
        options[:dirs] = value
        end
        opts.on('-m message', '--msg message', 'your raw message to be matched') do |value|
        options[:message] = value
        end
        opts.on('-p pattern', '--pattern pattern', 'your grok pattern to be compiled') do |value|
        options[:pattern] = value
        end
        opts.on('-n', '--named', 'named captures only') do
        options[:named] = true
        end
        end.parse!
        grok = grok.new
        options[:dirs].each do |dir|
        if file.directory?(dir)
        dir = file.join(dir, *)
        end
        dir.glob(dir).each do |file|
        grok.add_patterns_from_file(file)
        end
        end
        grok.compile(options[:pattern], options[:named])
        ap grok.match(options[:message]).captures()
        测试一下:
        代码如下:
        $ sudo gem install jls-grok awesome_print
        $ ruby grokdebug.rb
        run grokdebug at your terminal.
        -d, --dirs dir1,dir2 set grok patterns directories. default: ./patterns
        -m, --msg message your raw message to be matched
        -p, --pattern pattern your grok pattern to be compiled
        -n, --named named captures only
        $ ruby grokdebug.rb -m 'abc123' -p '%{number:test}'
        {
        test => [
        [0] 123
        ],
        base10num => [
        [0] 123
        ]
        }
        $ ruby grokdebug.rb -m 'abc123' -p '%{number:test:float}' -n
        {
        test => [
        [0] 123.0
        ]
        }
        没错,我这比 grokdebug 网站还多了类型转换的功能。它用的 jls-grok 是 0.10.10 版,而我用的是最新的 0.11.0 版。
    随便看

     

    在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

     

    Copyright © 2002-2024 cuapp.net All Rights Reserved
    更新时间:2025/8/2 19:20:58