我正在创建一个 node.js 程序,它扫描日志文件并将信息输出到控制台。
有时,日志文件可能包含基本上永远重复的错误(我说的是 20000 次)。
我需要一种方法来检查文本的任何部分是否在文件中重复多次。
由于我不知道要查找什么文本,因此无法使用 native JS 函数、正则表达式或类似的东西。
有谁知道我如何在不使用机器学习的情况下实现这一目标?
我还没有尝试过任何东西,因为我完全不知道如何实现这一点。
最佳答案
将问题分解为多个步骤。一步一步地处理。因此,第一步,您的任务是弄清楚如何将文件从磁盘读取到变量中。下一步:将该变量转换为数组。等等
您可以使用如下算法:
- 将日志文件读入内存。 (如果日志文件太大,或者步骤 2 太大,请研究将此任务分解为多个部分)
- 将日志文件转换为离散文本片段的数组(因此,您需要知道是什么分隔离散文本片段)。
- 现在您需要一个(空)输出数组。
- 循环输入数组,并针对每个数组元素检查它是否已在输出数组中。如果没有,请添加。如果是,则不执行任何操作。
最后,您将得到一个仅包含唯一日志条目的输出数组。将其写入文件。
关于javascript - 如何使用 node.js 检查文本文件中的重复行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59667098/