Сравните два файла и выведите различия

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

Задача 1: Найдите то, что отсутствует в файле 2.txt из файла file1.txt

Задача 2: Найти то, что отсутствует в файле. Некоторые строки могут существовать в file2.txt, что arent в file1.формат txt. Я хотел бы знать о них, как ну.

diff только говорит мне, что два файла не то же самое, идя строка за строкой сравнения различий. Что мне нужно, так это программа, которая проходит через файл и не различает по строкам. Если строка, содержащая '/bin / mount', находится в строке 2 файла file1.txt и находится в строке 59 файла file2.txt, тогда мне не нужно знать об этом. Я только хочу знать, чего нет в целом. Можно ли это сделать?

19
задан unixpipe
12.02.2023 20:30 Количество просмотров материала 2933
Распечатать страницу

2 ответа

Если вас не волнует порядок строк, сначала отсортируйте файлы. Чтобы увидеть, какие строки отсутствуют в каком файле, используйте comm вместо diff:

comm <(sort file1) <(sort file2)
5
отвечен choroba 2023-02-14 04:18

Задача 1: Найти то, что отсутствует в file2.txt из файла file1.txt

С grep:

grep -xvFf file2.txt file1.txt

С comm:

comm -13 <(sort file1.txt) <(sort file2.txt)

С sort и uniq:

sort file2.txt file2.txt file1.txt | uniq -u

Задача 2: Найти то, что отсутствует в файле. Некоторые строки могут существовать в file2.txt, что arent в file1.формат txt. Я хотел бы знать о них, как ну.

С grep:

grep -xvFf file1.txt file2.txt; grep -xvFf file2.txt file1.txt

С comm:

comm -3 <(sort file1.txt) <(sort file2.txt) | tr -d '\t'

С sort и uniq:

sort file1.txt file2.txt | uniq -u
3
отвечен cuonglm 2023-02-14 06:35

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

bash
command-line
diff
linux
unix
Вверх