#irc #log #ilc #format #converter-collector-cruncher

ilc-format-energymech

IRC日志转换/收集器/压缩器

3个不稳定版本

使用旧的Rust 2015

0.2.0 2016年3月2日
0.1.1 2016年2月25日
0.1.0 2016年2月25日

#3 in #ilc


2 个crate中使用

Apache-2.0

26KB
542

ilc

Travis Appveyor Crates.io version Crates.io license

这是什么?

ilc是一个用于处理常见的IRC日志格式的库,同时也是一组针对IRC日志的常用工具。

该库可以将大部分EnergyMech(ZNC)和Weechat日志格式以及它们的二进制和msgpack表示形式相互转换。工具可以合并、转换和格式化这些日志,或者统计人们在这些日志中说的话的行数/单词数。

下载

还有其他构建版本,包括支持musl、mingw或ARM。请查看最新版本以查看所有存档。

平台 64位 32位
Linux 下载 下载
OS X 下载 下载
Windows 下载 下载

请注意,这些链接在发布和上传构建之间的一小时内可能会损坏,对此表示歉意。

我如何自行编译?

因为我使用的是实验性功能(slice_patterns),所以您必须使用Rust nightly安装。

从crates.io
cargo install ilc
从git

67ee599c56ba9e58cfe190036b7dcc656b20bfdd 已知可以与

rustc 1.8.0-nightly (d63b8e539 2016-01-23) cargo 0.8.0-nightly (8edc460 2016-01-21)

编译

cargo build --release

示例

ilc stats -f w -i full.dated.sorted | jq ".stats.freqs[].lines" | awk '{ total += $1; count++ } END { print total/count }'

用法

Usage:
  ilc parse [options] [-i FILE...]
  ilc convert [options] [-i FILE...]
  ilc freq [options] [-i FILE...]
  ilc seen <nick> [options] [-i FILE...]
  ilc sort [options] [-i FILE...]
  ilc dedup [options] [-i FILE...]
  ilc (-h | --help | -v | --version)

Options:
  -h --help         Show this screen.
  -v --version      Show the version (duh).
  --date DATE       Override the date for this log. ISO 8601, YYYY-MM-DD.
  --tz SECONDS      UTC offset in the direction of the western hemisphere.
  --channel CH      Set a channel for the given log.
  --inf INF         Set the input format.
  --outf OUTF       Set the output format.
  --in -i IN        Give an input file, instead of stdin.
  --out -o OUT      Give an output file, instead of stdout.
  --infer-date    Try to use the filename as date for the log.

你很傻吗?为什么选择Rust?

嗯,实际上...这可能是一个次优选择。这里没人关心性能。但这是我开始的,而且我不想重写它。

我发现了一个bug!

太好了!或者...嗯,也不是那么好。请在这里提交

它不支持我的格式。

计划支持irssi,但除此之外,您需要提交一个issue或自行实现。PR欢迎,但我不能保证修订后全部合并。 :)

依赖关系

~3MB
~45K SLoC