fixmint
RU

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

Автор: · · обновлено 8 ноября 2026 г. · Чтение: 4 мин

Чтобы удалить повторяющиеся строки, уберите каждую строку, которая повторяет уже встречавшуюся раньше. Сначала решите, что считать «одинаковым»: строки, которые совпадают символ в символ, или строки, которые совпадают после очистки. Удаление точных совпадений безопасно, но пропускает большинство реальных дубликатов. Обрезка пробелов по краям и игнорирование регистра находят гораздо больше, и именно это нужно большинству людей для списков email, ключевых слов или артикулов.

Удаление повторяющихся строкВ списке есть дубликатыСделать бесплатно

Пример

Вот список из шести адресов электронной почты, скопированных из таблицы:

[email protected]
[email protected]
[email protected] 
[email protected]
[email protected]
[email protected]

Здесь происходят три вещи. Первая и последняя строки полностью совпадают. Вторая строка отличается только заглавной буквой A. В третьей строке есть пробел в конце, который не видно. Вот результаты при каждом правиле:

ПравилоОстанется строкПочему
Удалить точные дубликаты5Точно совпадает с первой строкой только последняя строка «anna»
Убрать пробелы и игнорировать регистр3Уникальных адресов только три: anna, ben и cara

На практике адреса электронной почты почти всегда не чувствительны к регистру, поэтому здесь нужно второе правило. Если список попал к вам со страницы с беспорядочной разметкой, сначала воспользуйтесь извлечением email и ссылок, чтобы на этап удаления дубликатов попали только настоящие адреса.

Почти одинаковые строки

Почти одинаковые строки выглядят для компьютера разными, но для вас означают одно и то же. Типичные причины:

  • Заглавные буквы: «Blue Widget» и «blue widget».
  • Пробелы в начале или в конце строки, которые часто не видны в редакторе.
  • Неразрывные пробелы и другие скрытые символы, которые выглядят как обычные пробелы (скрытые символы объясняются отдельно).
  • Разная пунктуация: «e-mail» и «email».
  • Формы множественного числа, которые требуют решения человека, поэтому инструмент не должен объединять их сам.

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

Регистр может иметь значение

Игнорировать регистр не всегда безопасно. Артикулы, имена файлов в Linux и некоторые идентификаторы чувствительны к регистру, поэтому «AB-101» и «ab-101» могут быть двумя разными позициями. Прежде чем объединять позиции, которые отличаются только регистром, проверьте, считает ли система, куда вы передаёте список, эти значения одинаковыми.

Алфавитная и естественная сортировка

Сортировка списка с числами часто даёт неожиданный порядок. Обычная алфавитная сортировка сравнивает символы по одному, поэтому «item10» стоит раньше «item2»: символ 1 идёт перед 2.

Вот разница на трёх позициях:

  • Алфавитная: item1, item10, item2
  • Естественная: item1, item2, item10

Естественная сортировка сравнивает числа как числа, поэтому 2 идёт раньше 10. Подробнее о том, почему 10 стоит раньше 2. Естественную сортировку используйте для имён файлов, кодов полок, номеров версий и всего, что заканчивается числом. Обычную алфавитную сортировку применяйте к именам и словам, где её и ожидают. Чтобы сравнить оба порядка на своём списке, вставьте его в сортировку строк и переключайтесь между А→Я и «Числа».

Ещё два момента:

  • Сортировка не удаляет дубликаты. Сначала удалите их, а потом сортируйте. Иначе сортировка поставит дубликаты рядом, и их будет легче увидеть, но не удалит.
  • Сохраняйте исходный порядок, если в списке он имеет смысл. Список шагов или рейтинг вообще не нужно сортировать.

Сохранение первого вхождения

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

Проверьте результат

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

Как это сделать в fixmint

  1. Вставьте список в поле Ваш список, по одной позиции в строке.
  2. Оставьте включённой опцию Убрать пробелы по краям (она включена по умолчанию), а опцию Игнорировать регистр включайте только там, где заглавные буквы ничего не значат.
  3. Включите Удалять пустые строки, чтобы убрать и пустые строки.
  4. Выберите порядок: Сохранять порядок, А→Я или Числа.
  5. Скопируйте результат или нажмите Скачать .txt.

Особые случаи

  • Пустые строки. Несколько пустых строк подряд могут считаться дубликатами. Если вам нужно оставить одну для отступа, удалите их отдельным шагом.
  • Многострочные записи. Удаление дубликатов работает построчно. Если каждая запись занимает несколько строк, инструмент может разорвать запись и оставить её части в неправильном порядке.
  • Очень большие списки. Большие файлы обрабатываются нормально, но сверьте количество строк на выходе с количеством на входе, чтобы понимать, что изменилось.

Краткие ответы

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

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

Почему при сортировке item10 идёт раньше item2?

Обычная алфавитная сортировка сравнивает символы по одному, а символ 1 стоит перед 2. Используйте естественную сортировку, которая сравнивает числа как числа.

Нужно ли игнорировать регистр при удалении дубликатов email?

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

Переведено с помощью ИИ с Английский оригинал.

Комментарии

    Комментариев пока нет. Будьте первым.

    Ваша оценка (необязательно)

    Ваша почта никогда не показывается и не сохраняется.

    Обложка книги «How to Remain Valuable When Intelligence Becomes Cheap»How to Remain Valuable When Intelligence Becomes Cheap

    224 страницы о человеческих, экономических и стратегических преимуществах, которые сохраняют ценность, когда ИИ может выполнять большую часть когнитивной работы.

    $3.84Купить на GumroadНа английском