#cli #tool #find #fields #tim #file #bray

bin+lib topfew

用于在结构化文本文件中查找高频出现的命令行工具

7 个版本

0.2.3 2021 年 8 月 30 日
0.2.2 2021 年 2 月 19 日
0.2.1 2020 年 11 月 27 日
0.2.0 2020 年 10 月 29 日
0.1.3 2020 年 5 月 25 日

#1396文本处理

每月 22 次下载

GPL-3.0 许可

22KB
379 代码行

topfew-rs:Tim Bray 的 topfew 工具的 Rust 实现

Tim Bray 在他的 博客 中讨论了 topfew,这是他用 Go 实现的一个工具,用于替换 awk '{print $1}' access_log | sort | uniq -c | sort -rn | head -12 管道。这是该工具的 Rust 语言的规范实现。

初始的 Rust 版本比 Tim 的 Go 实现快 2.9 倍;目前的主体版本似乎快 6.7 倍,多亏了一些额外的优化。当前的 Rust 版本的非测试 SLOC 比 Go 版本略少。感谢 Thomas Andreas Jung 贡献了大量的性能改进。

topfew 0.1.0

USAGE:
    tf [OPTIONS] <file> --fields <fields>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -f, --fields <fields>    Fields to use as part of the line's key
    -n, --num <num>          Top number of matches to show [default: 10]
    -e, --regex <regex>      Regular expression used to split lines into fields [default: [ \t]]

ARGS:
    <file>    File to search

如果您已安装 Rust 工具链,可以使用 cargo install topfew 安装。

依赖项

~8MB
~140K SLoC