scala解析一段日志
来源:互联网 发布:js判断chrome浏览器 编辑:程序博客网 时间:2024/06/02 02:19
日志文件,格式如下: # Http-Method IP/domain timesGET www.baidu.com 1234GET www.qq.com 123GET 127.0.0.1 123 GET 10.123.76.3 12 GET 10.123.76.4 343 统计对所有IP的GET请求数, 比如上述的例子已经返回478
import java.io._import scala.io._def parseLog(is: InputStream): Iterator[String] = { Source.fromInputStream(is).getLines()}def countGET(iter: Iterator[String]): Int ={ iter.filter{ line => val l = line.trim; l.length > 0 && !l.startsWith("#") }.filter{ line => val strs = line.trim.split("\\s+"); // println(strs.toList+" "+strs.length); strs(0).equalsIgnoreCase("GET") && strs(1).matches("""\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"""); }.map{ line => line.trim.split("\\s+")(2); }.foldLeft(0){ (x, y) => x.toInt + y.toInt }}println(countGET(parseLog(new FileInputStream(args(0)))));原文:http://outofmemory.cn/code-snippet/37055/parse-yiduan-rizhi
0 0
- scala解析一段日志
- scala解析json日志
- scala 解析
- 查找一段时间内日志
- SCALA 的日志管理
- 一天一段scala代码(一)
- 一天一段scala代码(二)
- 一天一段scala代码(三)
- 一天一段scala代码(四)
- 一天一段scala代码(五)
- 一天一段scala代码(六)
- 一天一段scala代码(七)
- 一天一段scala代码(八)
- 一天一段scala代码(九)
- 一天一段scala代码(十)
- 一天一段scala代码(十一)
- 一天一段scala代码(十二)
- 一天一段scala代码(十三)
- 基带通信相关概念
- linux静态库的生成与使用(转)
- 使用Java库中的类
- Linux的档案权限及目录配置(4)
- hdu 4348 可持久化线段树(区间和
- scala解析一段日志
- JAVA线程间通讯
- refresh的停车场
- Linux的档案权限及目录配置(一) (2)
- 高斯消元法 (模板)
- Android CoordinatorLayout
- SimpleCursorAdapter知识点关于一个: (IllegalArgumentException: column '_id' does not exist)_id字段的异常
- Linux系统调用与文件I/O(二)
- 脚本基础(未完待续)