#grep #file-search #mini-grep #command-line #string-search #cli #light-weight

bin+lib rahat3062_minigrep

grep 命令行应用程序的轻量级和最小化实现

4 个版本

0.1.3 2024年4月30日
0.1.2 2024年4月30日
0.1.1 2024年4月30日
0.1.0 2024年4月30日

#1 in #mini-grep

MIT/Apache

8KB
107

rahat3062_minigrep

rahat3062_minigrep 是 grep 命令行应用程序的轻量级和最小化实现。它用 Rust 编写,既可以作为独立应用程序使用,也可以作为其他 Rust 程序的库。

二进制crate

通过以下方式安装

cargo install rahat3062_minigrep && \
alias minigrep = rahat3062_minigrep

二进制crate提供对grep功能的命令行界面。您可以使用它来在文件中搜索字符串。以下是运行方法

minigrep <query> <filename> -s

将字符串替换为您要搜索的字符串,将文件路径替换为您要搜索的文件路径,并使用-s进行敏感搜索。

如有必要,您还可以通过管道从stdin读取输入

history | minigrep cargo

库crate

库crate提供了一个 run 函数,您可以使用它以编程方式执行grep搜索。以下是一个示例

use rahat3062_minigrep::{Config, run};

let config = Config {
    query: "my query".to_string(),
    filename: Some("my_file.txt".to_string()),
    sensitive: false,
};

let result = run(config);

在这个示例中,run在 "my_file.txt" 中搜索 "my query" 并返回匹配的行。由于sensitive为false,搜索不区分大小写。

依赖项

~1–11MB
~74K SLoC