https://github.com/garyelephant/pygrok/pull/3的临时包

pygroker的Python项目详细描述


皮格罗克Build Status

Join the chat at https://gitter.im/garyelephant/pygrok

用于解析字符串和从中提取信息的python库 结构化/非结构化数据

What can I use Grok for?

  • 解析和匹配字符串(日志、消息等)中的模式
  • 从复杂的正则表达式中解脱出来。
  • 从结构化/非结构化数据中提取信息

Installation

$ pip install pygrok

或者从下载、解压缩并安装pygrok here

$ tar zxvf pygrok-xx.tar.gz
$ cd pygrok_dir
$ sudo python setup.py install

Getting Started

>>>importpygrok>>>text='gary is male, 25 years old and weighs 68.5 kilograms'>>>pattern='%{WORD:name} is %{WORD:gender}, %{NUMBER:age} years old and weighs %{NUMBER:weight} kilograms'>>>printpygrok.grok_match(text,pattern){'gender':'male','age':'25','name':'gary','weight':'68.5'}

很酷!下面列出了一些您可以使用的模式:

`WORD` means \b\w+\b in regular expression.
`NUMBER` means (?:%{BASE10NUM})
`BASE10NUM` means (?<![0-9.+-])(?>[+-]?(?:(?:[0-9]+(?:\.[0-9]+)?)|(?:\.[0-9]+)))

other patterns such as `IP`, `HOSTNAME`, `URIPATH`, `DATE`, `TIMESTAMP_ISO8601`, `COMMONAPACHELOG`..

查看所有模式here

More details

beause python re模块不支持正则表达式语法 原子分组(?)>;),因此pygrok需要 regex待 安装。

pygrok的灵感来自Grok 约旦西塞尔开发。这不是乔丹·西塞尔的包装纸 完全由我来执行。

grok是一个简单的软件,允许您轻松地解析字符串、日志 以及其他文件。使用grok,您可以转换非结构化日志和事件数据 在结构化数据中,pygrok做了同样的事情。

我建议你看看logstash filter grok, 它解释了怪兽的工作原理。

模式文件来自logstash filter grok’s pattern files

Contribute

Get Help

mail:garygaowork@gmail.com
twitter:@garyelephant

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
不同窗口中的java视图   java创建SQL插入语句到CSV文件   java效率检查:Opengl动画代码   在clojure中处理Java可选<T>   java理解camel中的输入/输出交换模式行为   对于使用jpackage构建的应用程序,java LSOpenURLsWithRole()失败,错误为10810   多线程Java同步:多重倒计时闩锁   java哪个类应该做这项工作?   java在运行时出现问题。getRuntime()。执行官   java我们不能在GAE中使用集合或集合作为返回类型吗?   amazon web服务返回类型与RequestHandler<Object,String>不兼容。JAVA中的HandlerRequest(对象、上下文)   如何在Java中使用ExecutorService设置任务的超时时间