#irc #log #ilc #convert #sorting #merge #line

ilc-ops

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

3 个版本

使用旧的 Rust 2015

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

#2 in #ilc


2 crate 中使用

Apache-2.0

23KB
549

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 夜间版本安装。

从 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?

呃,实际上...那可能是一个次优选择。在这里,没有人关心性能。但我就是从这里开始的,并且我不愿意重写它。

我发现了一个错误!

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

它不支持我的格式。

计划支持 irssi,但除此之外,您必须提交一个 issue 或自己实现它。PR 欢迎接受,但我不能保证修订后合并所有提交。 :)

依赖项

~3.5MB
~55K SLoC