Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


Идея с массивом счётчиков. Создаст файл с _no_repeating без строк с повторяющимися больше 3 раз ключами (до двоеточия).
Скрытый текст
Код: Выделить весь код
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" "файл со строками"
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:46, 21-08-2019 | #5