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

Как найти повторяющиеся строки в текстовом файле

  • автор:

Как найти все повторяющиеся и не повторяющиеся строки в файлах

Как найти все повторяющиеся и не повторяющиеся строки в файлах

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

В Linux

Ищем НЕ ПОВТОРЯЮЩИЕСЯ строки (уникальные)

Допустим у нас есть два текстовых файла:

Содержимое файла file1.txt

Содержимое файла file2.txt

Для того, чтобы найти все уникальные строки в файле file1.txt (т.е. те строки, которые не содержатся в файле file2.txt) можно воспользоваться следующей командой:

Результат выполнения данной команды будет таким:

Как мы видим в результате выполнения данной команды выводятся только те строки, которые уникальны в файле file1.txt и которых нет в файле file2.txt

Для того, чтобы найти все уникальные строки в файле file2.txt (т.е. те строки, которые не содержатся в файле file1.txt) можно воспользоваться следующей командой:

Результат выполнения данной команды будет таким:

Ищем ПОВТОРЯЮЩИЕСЯ строки (дубликаты)

Допустим у нас есть два текстовых файла:
Содержимое файла file1.txt

Содержимое файла file2.txt

Для того, чтобы найти все повторяющиеся строки (дубликаты) в файлах file1.txt и file2.txt можно воспользоваться следующей командой:

Как найти и вывести повторяющиеся строки в текстовом файле?

BasiC2k

можно и без WSL, есть кросплатформенный и более продвинутый аналог grep — ripgrep
напрямую стянуть бинарник можно с гитхаба — ripgrep-13.0.0-x86_64-pc-windows-msvc.zip
rg -N -f file_0.txt file_1.txt > file_2.txt

xotkot

Похоже, вам поможет нечто типа того (почти на c#):

на ваших данных выдало то что надо (правда, не сортированное в том же порядке)
Ну и по памяти — всё в память грузится

Удаление дублирующих строк в Notepad++

Надо удалить повторяющиеся строки в текстовом файле. Для этого воспользуемся Notepad++.

Прямой функции в Notepad++ нет, но можно воспользоваться некоторыми функциями, чтобы всё реализовать.

Допустим, что у нас есть файл такого содержания:

Первый способ

Запустите окно замены в файле и введите команду:

При этом настройки замены должны быть как на рисунке:

Настройки замены

И нажмите Заменить всё . Повторяющиеся строки удаляться. Но при этом останутся не первые варианты строк, а последние повторы.

Второй способ

Если надо удалить повторы так, чтобы оставалось первые варианты строк, а не последние, то тут надо по-другому поступить. Идея простая. Мы меняем порядок строк, а потом просто применяем первый способ, а потом меняем обратно.

Для этого нам потребуется плагин TextFX. По ссылке рассказывается и про его установку.

Итак, нужно сделать следующие действия для изменения порядка строк.

Выделите весь текст Ctrl + A :

Выделение всего текста

Вставьте номера строкам: TextFX → TextFX Tools → Insert Line Numbers :

Insert Line Numbers

Если стоит флажок TextFX → TextFX Tools → +Sort ascending , то его убрать:

Команда +Sort ascending

Отсортируем строки TextFX → TextFX Tools → Sort lines case sensitive (at column) :

Sort lines case sensitive (at column)

Удаляем номера строк TextFX → TextFX Tools → Delete Line Numbers or First Word :

Delete Line Numbers or First Word

Потом используем первый способ для удаление повторяющихся строк. А потом обратно меняем порядок строк.

Третий способ

Но я бы всё-таки для таких целей использовал бы специализированные средства (ибо, иногда способы в статье немного шалят). Вот два рабочий сервиса, которыми я пользуюсь при случае:

  • Notepad++
  • Текстовой редактор
  • blog
  • it
  • program

Надо удалить повторяющиеся строки в текстовом файле. Для этого воспользуемся Notepad++.

Надо удалить повторяющиеся строки в текстовом файле. Для этого воспользуемся Notepad++.

Как найти одинаковые строки в любом тексте

Как найти одинаковые строки в любом тексте

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

2. Как найти одинаковые строки с помощью программы Notepad++.

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

Есть более простой и удобный способ найти одинаковые строки используя бесплатный супер мега текстовый редактор Notepad++.

Найти одинаковые строки с помощью этой замечательной программы можно в два клика.

1. Итак, открываем ваш текстовый документ в программе Notepad++.
2. Выделяем весь текст (Ctrl+A)
3. Идем в меню TextFX -> TextFX Tools -> Sort lines case insensitive

При этом должна стоять галочка возле пункта “Sort outputs only UNIQUE lines”.

Результат, после нажатия «Sort lines case insensitive» – мы получаем отсортированные строки без повторов и дублей.

К примеру если у вас по тексту разбросано 10 одинаковых строк, то останется 1. Или если много строк имеют по несколько повторов то, останутся каждая по одной, без дублей.

Теперь при необходимости можно легко скопировать и вставить готовые строки в Exel или куда угодно.

Если у вас нет, то скачать Notepad++ можно на нашем сайте без вирусов и абсолютно бесплатно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *