Перейти к основному содержимому
Tooletto

Удаление повторяющихся строк

Удаляйте повторяющиеся строки из списка с возможностью сортировки, удаления лишних пробелов, игнорирования регистра и пропуска пустых строк. Полезно для очистки списков email-адресов, файлов логов, списков ключевых слов и столбцов CSV.

  • Файлы никогда не покидают ваше устройство
  • Бесплатно, без регистрации
  • Без водяных знаков
  • Работает офлайн после загрузки
Loading tool…

Как пользоваться: удаление повторяющихся строк

  1. 1

    Вставьте список

    По одному элементу на строку — email-адреса, ссылки, ключевые слова, что угодно.

  2. 2

    Выберите настройки

    Сортируйте, удаляйте пробелы, игнорируйте регистр или оставьте только строки, встречающиеся более одного раза.

  3. 3

    Скопируйте результат

    Отображается количество удалённых строк, чтобы вы знали, что изменилось.

Почему "сохранять первое вхождение" — разумный вариант по умолчанию

Когда список содержит несколько копий одной и той же строки, нужно какое-то правило, определяющее, какая копия останется, и сохранение первой — это выбор, сохраняющий больше всего информации об исходном списке: итоговый порядок по-прежнему отражает то, как список был изначально составлен, а не оказывается перемешанным самим шагом дедупликации. Это имеет конкретное значение для списка, изначально упорядоченного осмысленно — записи, добавленные в хронологическом порядке, или уже отсортированные каким-то внешним процессом, — где удаление дубликатов без нарушения этого порядка сохраняет результат пригодным к использованию так же, как и оригинал, только без повторов.

Включение сортировки после этого — отдельный, осознанный шаг именно потому, что он отбрасывает исходный порядок в пользу алфавитного, что правильно, когда исходный порядок не нёс никакого смысла, который стоило бы сохранить — например, беспорядочный экспорт из нескольких источников, — и неправильно, когда нёс.

Что меняет опция "игнорировать регистр", а что нет

"Игнорировать регистр" меняет только то, как сравниваются две строки при определении, являются ли они дубликатами: Apple, APPLE и apple при этой настройке считаются одной и той же записью, и остаётся та, что встретилась в списке первой, — с полностью сохранённым исходным регистром. Это настройка сравнения, а не нормализации: инструмент никогда не переписывает регистр оставшейся строки под какой-то стандартный вид, а лишь решает, какие строки считать эквивалентными при поиске повторов.

Это важно для списков, собранных из нескольких источников с непоследовательным использованием регистра, — email-адреса, отправленные через разные формы, названия товаров, набранные разными людьми, — где без этой настройки "John@Example.com" и "john@example.com" считались бы двумя разными записями и обе сохранились бы, что сводило бы на нет саму цель дедупликации.

Поиск дубликатов вместо их удаления

Переворачивание операции, чтобы показывать только строки, встретившиеся более одного раза, превращает инструмент из очищающего в проверяющий — это полезно, когда цель не чистый список, а ответ на вопрос "действительно ли этот список содержит дубликаты и какие именно". Это более полезный режим при расследовании проблемы качества данных: список клиентов, в котором подозреваются повторные регистрации, список ключевых слов, возможно составленный из пересекающихся источников, файл логов, где повторяющиеся строки могут означать реальную ошибку, которая логируется многократно, а не один раз.

Удаление лишних пробелов перед сравнением строк

Две строки, выглядящие визуально одинаково, всё же могут не совпасть как дубликаты, если одна из них содержит завершающий пробел или лишний символ табуляции, невидимый глазу, — распространённый результат копирования данных из таблицы, где отступы ячеек иногда переносятся как буквальные пробелы. Удаление пробелов у каждой строки перед сравнением устраняет именно этот класс ложных "не дубликатов", улавливая записи, которые человек-рецензент сразу назвал бы одинаковыми, а строгое посимвольное сравнение — нет.

Часто задаваемые вопросы

Какой из дубликатов сохраняется?

Первое вхождение, поэтому исходный порядок сохраняется для всего, что остаётся. Если вы также включите сортировку, оставшиеся строки будут упорядочены по алфавиту.

Что именно делает опция "игнорировать регистр"?

Она считает Apple, APPLE и apple одной и той же строкой и оставляет ту, что встретилась первой, — с сохранением исходного регистра. Она меняет то, что считается дубликатом, а не то, как записан результат.

Можно ли найти дубликаты, а не удалять их?

Да. Опция "Показать только дубликаты" переворачивает операцию и выводит список строк, встретившихся более одного раза, — это полезно для проверки списка, а не для его очистки.

Есть ли ограничение по размеру?

На практике — несколько сотен тысяч строк. Всё выполняется в браузере, поэтому ограничением служит память вашего устройства, а не лимит на загрузку — и ваши данные никогда не покидают вкладку, что важно для клиентских списков.

Частые задачи: удаление повторяющихся строк