javascript - 如何使用 node.js 检查文本文件中的重复行?

标签 javascript node.js

我正在创建一个 node.js 程序,它扫描日志文件并将信息输出到控制台。

有时,日志文件可能包含基本上永远重复的错误(我说的是 20000 次)。

我需要一种方法来检查文本的任何部分是否在文件中重复多次。

由于我不知道要查找什么文本,因此无法使用 native JS 函数、正则表达式或类似的东西。

有谁知道我如何在不使用机器学习的情况下实现这一目标?

我还没有尝试过任何东西,因为我完全不知道如何实现这一点。

最佳答案

将问题分解为多个步骤。一步一步地处理。因此,第一步,您的任务是弄清楚如何将文件从磁盘读取到变量中。下一步:将该变量转换为数组。等等

您可以使用如下算法:

  1. 将日志文件读入内存。 (如果日志文件太大,或者步骤 2 太大,请研究将此任务分解为多个部分)
  2. 将日志文件转换为离散文本片段的数组(因此,您需要知道是什么分隔离散文本片段)。
  3. 现在您需要一个(空)输出数组。
  4. 循环输入数组,并针对每个数组元素检查它是否已在输出数组中。如果没有,请添加。如果是,则不执行任何操作。

最后,您将得到一个仅包含唯一日志条目的输出数组。将其写入文件。

关于javascript - 如何使用 node.js 检查文本文件中的重复行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59667098/

相关文章:

javascript - 是否有任何 jquery 来检测 html 标签是否未关闭?或者页面没有完全加载?

JavaScript cssText 在 Firefox 和 Opera 浏览器中无法正常工作

javascript - 新函数返回新函数

node.js - 为什么我的 React.js 应用程序中会出现此错误 'You need to enable javascript'?

node.js - 通过 headless 浏览器提交表单 - NodeJS

arrays - Node.js promise : Push to array asynchronously & save

javascript - Node.js 需要同一文件夹中的多个文件

javascript - 为什么 window.navigator.userAgent 显示错误的 Firefox 版本?

javascript - 如何使用 YUI 按名称查找输入并在其后插入内容

javascript - 如何在 Javascript 中将按钮的点击次数限制为每分钟一次