5 个版本

0.1.4 2020年6月23日
0.1.3 2020年5月21日
0.1.2 2020年5月18日
0.1.1 2020年5月16日
0.1.0 2020年5月15日

#1972文本处理

GPL-3.0 许可证

17KB
246

grep-rs

用 rust 编写的类似 grep 的库

当前正在工作的功能

搜索文件
搜索标准输入
排除模式
打印模式首次出现之前的所有行
打印模式首次出现之后的所有行
不区分大小写
(新增) 正则表达式

示例

示例在假设的目录中执行,包含
Basic_file_1.txt Basic_file_2.txt
Basic_file_3.txt Basic_file_4.txt

查看 examples/ 目录中的示例
或运行 cargo run --example [文件名]


lib.rs:

grep-rs 是一个简单的文本搜索工具

当前正在工作的功能

  • 支持搜索文件
  • 支持搜索标准输入
  • 搜索包含特定模式的文本
  • 搜索排除特定模式的文本
  • 打印模式首次出现之前的所有行
  • 打印模式首次出现之后的所有行
  • 不区分大小写
  • 简单正则表达式

安装

将其添加到您的 Cargo.toml 中

libgrep-rs = "0.1.3"

示例

use libgrep_rs::searcher::Searcher;
use libgrep_rs::options::Options;

fn main() {
let options = Options::default();
let text = String::from("Hello World\n libgrep-rs test");
let pattern = String::from("World");
let searcher = Searcher::new(pattern, text, options, Some(String::from("\n")));
//Some(String::from("\n")) is the deliminator, it could be anything
//If set to None, it will use the default "\n"
let output = searcher.search();
println!("{}", output);
}

如果成功,输出将是

Hello World

您可以在 examples/ 目录中查看其他示例

依赖项

~2–3MB
~53K SLoC