🐹 Bash: Как найти разницу в двух текстовых файлах?

Содержание:

1. Задача.
2. Решение задачи.
3. Оригиналы источников информации.


1. Задача.

Есть два файла. Как найти в них различия?

2. Решение задачи.

Первый файл file.log:

line 1
line 2
line 3
line 4
line 5

Второй файл file-new.log:

line a
line 2
line c
line 4
line 5
line 6

Самый очевидный ответ — просто использовать команду diff, и, возможно, стоит добавить в нее параметр --speed-large-files, если файлы огромного размера:

# diff --speed-large-files file.log file-new.log

Ответ:

1c1
< line 1
---
> line a
3c3
< line 3
---
> line c
5c5,6
< line 5
\ В конце файла нет новой строки
---
> line 5
> line 6
\ В конце файла нет новой строки

3. Оригиналы источников информации.

  1. qastack.ru «Различение двух больших текстовых файлов».