首次实现 grrs

在上一章命令行参数之后,我们有了输入数据,可以编写实际的工具了。我们的 “main” 函数现在只包括以下这行:

let args = Cli::from_args();

先从打开我们拿到的文件开始。

let content = std::fs::read_to_string(&args.path)
    .expect("could not read file");

现在,让我们遍历行并打印包含模式的每一行:

for line in content.lines() {
    if line.contains(&args.pattern) {
        println!("{}", line);
    }
}

尝试一下: cargo run -- main src/main.rs 现在应该能正常工作了。