const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let flag = true; const map = {}; const callback = () => { const mapKeys = Object.keys(map); while (mapKeys.length > 8) { mapKeys.shift(); } mapKeys.forEach((key) => { console.log(key + " " + map[key]); }); }; let setTimeId; rl.on("line", function (line) { if (setTimeId) { clearTimeout(setTimeId); } const tokens = line.split(" "); const files = tokens[0].split("\\"); let fileName = files[files.length - 1]; if (fileName.length > 16) { fileName = fileName.substring(fileName.length - 16); } const mapKey = fileName + " " + tokens[1]; if (!map[mapKey]) { map[mapKey] = 1; } else { map[mapKey] += 1; } setTimeId = setTimeout(() => { callback(); }, 50); });