Поиск дублей: различия между версиями
Перейти к навигации
Перейти к поиску
Tatikoma (обсуждение | вклад) (Новая страница: «== Описание == Данный скрипт позволяет найти в файле повторяющиеся строки и записать друг...») |
Tatikoma (обсуждение | вклад) |
||
Строка 59: | Строка 59: | ||
== Смотрите также == | == Смотрите также == | ||
[[Load_array]] | [[Load_array]] | ||
− | + | <br>[[Save_array]] | |
− | + | <br>[[If]] | |
− | + | <br>[[For]] | |
== Первоисточник == | == Первоисточник == | ||
[[Категория:Библиотека скриптов]] | [[Категория:Библиотека скриптов]] |
Текущая версия на 11:36, 28 августа 2019
Содержание
Описание
Данный скрипт позволяет найти в файле повторяющиеся строки и записать другой файл без повторяющихся строк.
Версия
1.0
Минимальная версия UOPilot
2.38
Скрипт
// %input - исходный массив. // %output - итоговый массив. // #i - счетчик строк исходного массива. // #n - счетчик строк итогового массива. // #sizeInput - размер исходного массива. // #sizeOutput - размер итогового массива. set #sizeInput size (%input ) set #sizeOutput 0 for #i 1 #sizeInput 1 // Перебираем исходный массив. set #duplicat 0 // Обнуляем состояние флага, что строка является дубликатом. for #n 1 #sizeOutput 1 // Перебираем итоговый массив. if %input[#i] = %output[#n] // Сравниваем есть ли уже такие значение в итоговом массиве. set #duplicat 1 // Если есть, то ставим флаг дубля. break // прерываем перебор итогового массива. end_if end_for if #duplicat = 0 // Проверяем чем закончился поиск дубля. set #sizeOutput #sizeOutput + 1 // Увеличиваем размер итогового массива. set %output[#sizeOutput ] %input[#i] // Если значение не является дублем, то дописываем его. end_if end_for end_script
Пример
load_array %Input C:\papka\file.txt // загрузить массив из файла 'C:\papka\file.txt' set #sizeInput size (%input ) set #sizeOutput 0 for #i 1 #sizeInput 1 // Перебираем исходный массив. set #duplicat 0 // Обнуляем состояние флага, что строка является дубликатом. for #n 1 #sizeOutput 1 // Перебираем итоговый массив. if %input[#i] = %output[#n] // Сравниваем есть ли уже такие значение в итоговом массиве. set #duplicat 1 // Если есть, то ставим флаг дубля. break // прерываем перебор итогового массива. end_if end_for if #duplicat = 0 // Проверяем чем закончился поиск дубля. set #sizeOutput #sizeOutput + 1 // Увеличиваем размер итогового массива. set %output[#sizeOutput ] %input[#i] // Если значение не является дублем, то дописываем его. end_if end_for save_array %Output C:\papka\file789.txt // сохранить итоговый массив в файл 'C:\papka\file789.txt' end_script