Сравните два файла и выведите различия
Я в курсе 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, тогда мне не нужно знать об этом. Я только хочу знать, чего нет в целом. Можно ли это сделать?
2 ответов
Задача 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
Другие вопросы bash command-line diff linux unix