gpt4 book ai didi

javascript - 如何使用文件系统和nodejs从文件中获取匹配的字符串?

转载 作者:行者123 更新时间:2023-12-03 04:55:34 24 4
gpt4 key购买 nike

我从客户端传递字符串,如果该字符串是该文件内容的一部分,我想打印该行,使用 fs 和 nodejs 是否可行?

service.js

var fs = require('fs');
var path = require('path');
var async = require('async');
var searchStr;

function readFile(str){
searchStr = str;
// var url = './logs/St/server1.log';
fs.readFile('./logs/St/server1.log', 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
console.log('Server Data',data);
inspectFile(data);
});
}


function inspectFile(data) {
if (data.indexOf(searchStr) != -1) {
// do something
console.log('print the matching data');
}
}

exports.readFile = readFile;

最佳答案

您必须首先按新行分割数据。试试这个:

function inspectFile(data) {
var lines = data.split('\n'); // get the lines
lines.forEach(function(line) { // for each line in lines
if(line.indexOf(searchStr) != -1) { // if the line contain the searchStr
console.log(line); // then log it
}
});
}

注意:您可以将 searchStr 作为参数传递给 inspectFile,而不是使 searchStr 全局化。

关于javascript - 如何使用文件系统和nodejs从文件中获取匹配的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42447391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com