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

Вступление

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

В Линукс

Ищем НЕ ПОВТОРЯЮЩИЕСЯ строчки (неповторимые)

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

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

aaa  bbb  ccc  ddd  eee  fff  ggg

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

bbb  aaa  ccc  eee  111  222  ddd  xxx

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

cat file1.txt | grep -v -f file2.txt

Итог реализации этой команды будет таким:

fff  ggg

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

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

cat file2.txt | grep -v -f file1.txt

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

111  222  xxx

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

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

aaa  bbb  ccc  ddd  eee  fff  ggg

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

bbb  aaa  ccc  eee  111  222  ddd  xxx

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

cat file1.txt | grep -f file2.txt

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

aaa  bbb  ccc  ddd  eee

Комментарии

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

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