Код:
if (!WSH.Arguments.Unnamed.length) WSH.Quit(1);
var file = WSH.Arguments.Unnamed.Item(0);
var max = 3;
var fso = new ActiveXObject('Scripting.FileSystemObject');
if (!fso.FileExists(file)) WSH.Quit(2);
var fr = fso.OpenTextFile(file, 1, false, -2);
if (!fr) WSH.Quit(3);
var fw = fso.OpenTextFile(file.replace(/(\.\w{1,6})?$/, '_no_repeating$1'), 2, true, -2);
var counters = {}, key, line;
while (!fr.AtEndOfStream) {
line = fr.ReadLine();
if (key = /^[^:]+/.exec(line)) {
key = key[0];
counters[key] ? counters[key]++ : counters[key] = 1;
if (counters[key] > max) {
WSH.Echo("'" + key + "' has " + counters[key] + " matches, skipping");
continue;
}
}
fw.Writeline(line);
}
fw.Close();
fr.Close();
запуск
Код:
cscript //E:jscript "script.js" "файл со строками"