fs.readdir and fs.readfile and regex



这是一个运行快速服务器的Node应用程序。我有一个包含文本文件的文件夹。我需要能够进入文件夹中的每一个文件,并提取包含单词"SAVE"的行。

我被困在这一步。

app.get('/logJson', function (req, res) {
  const logsFolder = 'C:/logs/';
  fs.readdir(logsFolder, (err, files) => {
    if (err) {
      res.send("[empty]");
      return;
    }
    files.forEach(function(filename){
      var logFiles = fs.readFileSync (logsFolder + filename, 'ascii').toString().split("n");
      console.log(logFiles + "n");
    })
  })
})

我不知道在哪里包含这个:

var log = (logFiles.split(/.*SAVE.*/g)||['no result found'])[0];

任何帮助将不胜感激

如果您只想打印出包含单词的所有行 SAVE ,您可以这样做。

备注:我没有运行此代码。

app.get('/logJson', function (req, res) {
  const logsFolder = 'C:/logs/';
  fs.readdir(logsFolder, (err, files) => {
    if (err) {
      res.send("[empty]");
      return;
    }
    var lines = [];
    files.forEach(function(filename) {
      var logFileLines = fs.readFileSync (logsFolder + filename, 'ascii').toString().split("n");
      // go through the list of logFileLines
      logFileLines.forEach(function(logFileLine) {
        // if the current line matches SAVE, it will be stored in the variable lines
        if(logFileLine.match(/SAVE/)) {
          lines.push(logFileLine);
        }
      })
    })
    // the variable lines is printed to the console
    console.log(lines);
  })
})

最新更新