使用node.js从文件返回搜索文本的行

Rom*_*mit 4 javascript fs node.js

我使用fs来读取文件的内容,然后在该文件中搜索特定的单词,如果文件包含该单词而不是返回布尔值或单词,我希望输出包含关键字的行.如何输出整行?

const fs = require("fs");
let file = fs.readFileSync("read.txt", "utf8");
if(file.indexOf("keyword") >= 0) {
    console.log("Line of the keyword");
}
Run Code Online (Sandbox Code Playgroud)

我只希望console.log()输出该行,如果该行包含关键字.

Ful*_*Guy 5

让我们首先尝试通过新行从文件中拆分字符串.然后可以搜索结果数组以查找关键字的出现.如果搜索成功,则打印与行号相同的数组索引.

const fs = require("fs");
let file = fs.readFileSync("read.txt", "utf8");
let arr = file.split(/\r?\n/);
arr.forEach((line, idx)=> {
    if(line.includes("keyword")){
    console.log((idx+1)+':'+ line);
    }
});
Run Code Online (Sandbox Code Playgroud)