Как удалить дубликаты строк из списка и не потерять порядок

4 сентября 2026 г.

Списки email-адресов из рассылки, выгрузка ID из двух таблиц, склеенные списки задач — дубликаты в них появляются незаметно, а последствия бывают неприятными: дважды отправленное письмо или задвоенная запись в отчёте. Чистка списка занимает секунды, если знать три нюанса.

Нюанс первый: регистр

«Ivanov@mail.ru» и «ivanov@mail.ru» — это один и тот же адрес или два разных? Для email — один, для паролей и артикулов — совершенно точно разные. Поэтому у инструмента есть переключатель чувствительности к регистру: для почт и доменов выключайте его, для кодов и паролей — включайте.

Нюанс второй: невидимые пробелы

Пробел или табуляция в конце строки (после копирования из Excel такое сплошь и рядом) делает строку «другой», и дубликат переживает чистку. Правильный порядок действий: сначала обрезать пробелы по краям, потом удалять дубликаты. В инструменте удаления дубликатов есть отдельная галочка trim — она делает это автоматически перед сравнением.

Нюанс третий: порядок строк

Простое решение «прогнать через sort | uniq» в командной строке пересортирует весь список. Часто это ломает задачу: порядок рассылки, хронология лога, приоритеты задач. Поэтому в онлайн-инструменте по умолчанию порядок сохраняется — удаляется второе и последующие вхождения, а первое остаётся на своём месте.

После чистки полезно взглянуть на статистику: сколько строк было и сколько осталось. Разница — это и есть количество дублей; если оно подозрительно велико (скажем, половина списка), стоит поискать источник повторов, а не просто чистить следствие. Считать длину и состав списка удобно в счётчике слов, а найти пересечения двух списков — в сравнении двух списков.

Схема «удалить дубликаты → отсортировать» надёжнее обратной: отсортированный список с дублями вводит в заблуждение, а чистый список сортировать уже безопасно.

Читайте также