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

Иногда может возникнуть ситуация, когда есть два файла с похожим содержимым и нам необходимо найти только повторяющиеся значения в обоих файлах или же наоборот, только те значения, которые различаются в этих двух файлах.
В 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 можно воспользоваться следующей командой:
Как найти и вывести повторяющиеся строки в текстовом файле?

можно и без 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

Похоже, вам поможет нечто типа того (почти на c#):
на ваших данных выдало то что надо (правда, не сортированное в том же порядке)
Ну и по памяти — всё в память грузится
Удаление дублирующих строк в Notepad++

Надо удалить повторяющиеся строки в текстовом файле. Для этого воспользуемся Notepad++.
Прямой функции в Notepad++ нет, но можно воспользоваться некоторыми функциями, чтобы всё реализовать.
Допустим, что у нас есть файл такого содержания:
Первый способ
Запустите окно замены в файле и введите команду:
При этом настройки замены должны быть как на рисунке:

И нажмите Заменить всё . Повторяющиеся строки удаляться. Но при этом останутся не первые варианты строк, а последние повторы.
Второй способ
Если надо удалить повторы так, чтобы оставалось первые варианты строк, а не последние, то тут надо по-другому поступить. Идея простая. Мы меняем порядок строк, а потом просто применяем первый способ, а потом меняем обратно.
Для этого нам потребуется плагин TextFX. По ссылке рассказывается и про его установку.
Итак, нужно сделать следующие действия для изменения порядка строк.
Выделите весь текст Ctrl + A :

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

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

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

Удаляем номера строк TextFX → TextFX Tools → 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++ можно на нашем сайте без вирусов и абсолютно бесплатно.