UltKit
Изображения11
PDF13
Документы и данные7
Видео6
Аудио4
Другие инструменты22

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

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

Символов: 0 · слов: 0 · строк: 0

Символов: 0 · слов: 0 · строк: 0

Всё работает в этой вкладке браузера. Ваш текст никуда не загружается и не сохраняется.

Что делает инструмент

Удалить повторяющиеся строки — инструмент, который оставляет первое вхождение каждой строки и удаляет последующие повторы, не меняя исходный порядок. При сравнении можно игнорировать регистр и пробелы по краям, а пустые строки — оставить или удалить.

До
красный
синий
Красный
зелёный
После
красный
синий
зелёный

Кому и зачем нужно удалять дубликаты из списков

Повторяющиеся строки появляются всякий раз, когда объединяют списки. Маркетолог сводит два экспортированных списка адресов, исследователь собирает ключевые слова из нескольких сервисов, разработчик выбирает URL из лог-файлов, учитель вставляет имена из трёх форм записи: в каждом случае в итоге есть записи, которые встречаются дважды и чаще. Убрать дубликаты можно и в электронной таблице, но для этого нужно открыть файл, выделить столбец и найти нужный пункт меню. Если данные уже в буфере обмена, быстрее вставить их в текстовое поле.

Сохранить исходный порядок важнее, чем кажется. Список шагов, рейтинг или URL в порядке обхода теряют смысл после сортировки. Здесь первое вхождение остаётся на своём месте, а последующие повторы просто отбрасываются. Счётчик показывает, сколько строк удалено, так что можно оценить, насколько результат правдоподобен.

Как сравниваются строки и какие различия не видны глазу

Каждая строка приводится к ключу сравнения и при чтении списка сверху вниз сохраняется в множестве. Если ключ строки уже есть в множестве, строка считается дубликатом. Это один проход, поэтому списки в сотни тысяч строк обрабатываются быстро. От классической команды Unix uniq инструмент отличается тем: она удаляет только дубликаты на соседних строках, поэтому её обычно запускают после sort, теряя исходный порядок. Идиома awk awk '!seen[$0]++' делает то же, что и этот инструмент.

Две строки могут выглядеть одинаково и всё же различаться. Пробел в конце, табуляция вместо пробела или неразрывный пробел, скопированный с веб-страницы, заставляют компьютер считать их разными строками. Включите обрезку, чтобы игнорировать пробелы по краям каждой строки, включая неразрывные. Отключите учёт регистра, чтобы «Paris» и «paris» считались одной записью; сохраняется вариант написания, встретившийся первым. Пустые строки можно оставить, чтобы абзацы оставались разделёнными, или удалить совсем.

Что делать после очистки

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

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

Какая копия повторяющейся строки сохраняется?
Первая. Все последующие строки с тем же содержимым удаляются, а оставшиеся строки сохраняют исходный порядок, так что ничего не перемешивается.
Почему две строки, которые выглядят одинаково, не удаляются?
Они различаются незаметным образом, чаще всего пробелом в конце, табуляцией или неразрывным пробелом. Включите обрезку пробелов или отключите учёт регистра, если различие только в заглавных буквах.
Чем это отличается от команды uniq?
uniq удаляет строку, только если она повторяет строку непосредственно над ней, поэтому её обычно используют вместе с sort. Этот инструмент находит повторы в любом месте текста и сохраняет исходный порядок.
Можно ли удалить дубликаты и одновременно отсортировать список?
Удалите дубликаты здесь, затем вставьте результат в «Сортировку строк». Два шага позволяют сохранить порядок первого появления, когда он нужен, и сортировать только по желанию.