Подобно diff
опциям, вы можете использовать comm
команду с подстановками процесса и sort
( comm
требует, чтобы файлы, с которыми он работает, были отсортированы). Это позволит вам сосредоточиться только на общих строках, только на строках в одном или другом -1
файле, используя -2
для подавления строк только в первом файле, для подавления строк только во втором файле или -3
для подавления строк в обоих, так что увидеть все строки, которые есть только в первом файле, а не во втором, который вы можете сделать
comm -23 <(sort file1) <(sort file2)
конечно, если вы хотите, чтобы вы могли также рассмотреть возможность использования grep
как
grep -vFxf file2 file1
который будет обрабатывать строки file2
как шаблоны и печатать только строки из файла file1, которые не имеют match ( -v
) при обработке строк из ( -f
) file2
как фиксированных строк ( -F
), которые должны соответствовать всей строке ( -x
).
Преимущество grep
решения заключается в том, что нет необходимости сортировать файлы, но оно проверяет только строки в одном из файлов, которые не находятся в другом, а не в обоих направлениях одновременно.