簡體   English   中英

如何使用 node.js 檢查文本文件中的重復行?

[英]How can I check for repeating lines in a text file with node.js?

我正在創建一個 node.js 程序,它掃描日志文件並將信息從它輸出到控制台。

有時,日志文件可能包含基本上可以永遠重復的錯誤(我說的是 20000 次)。

我需要一種方法來檢查文件中是否有任何文本部分重復多次。

因為我不知道我在尋找什么文本,所以我不能使用原生 JS 函數、正則表達式或類似的東西。

有誰知道我如何在不使用機器學習的情況下實現這一目標?

我還沒有嘗試過任何東西,因為我完全不知道如何實現這一點。

將問題分解為多個步驟。 一次處理一個步驟。 因此,對於第一步,您的任務是弄清楚如何將文件從磁盤讀取到變量中。 下一步:將該變量轉換為數組。 等等。

你可以使用這樣的算法:

  1. 將日志文件讀入內存。 (如果日志文件太大,或者如果第 2 步太大,請研究將此任務分解為多個部分)
  2. 將日志文件轉換為離散文本片段的數組(因此,您需要知道是什么分隔了離散文本片段)。
  3. 現在您需要一個(空)輸出數組。
  4. 遍歷輸入數組,對於每個數組元素,檢查它是否已經在輸出數組中。 如果沒有,請添加它。 如果是,什么都不做。

最后,您將擁有一個僅包含唯一日志條目的輸出數組。 將其寫入文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM