Чтобы легко применить команду comm к несортированным файлам, используйте процесс подстановки Bash :
$ bash --version
GNU bash, version 3.2.51(1)-release
Copyright (C) 2007 Free Software Foundation, Inc.
$ cat > abc
123
567
132
$ cat > def
132
777
321
Таким образом, файлы abc и def имеют одну общую строку, одну с «132». Использование comm для несортированных файлов:
$ comm abc def
123
132
567
132
777
321
$ comm -12 abc def # No output! The common line is not found
$
Последняя строка не выдала, общая линия не была обнаружена.
Теперь используйте comm для отсортированных файлов, сортируя файлы с подстановкой процесса:
$ comm <( sort abc ) <( sort def )
123
132
321
567
777
$ comm -12 <( sort abc ) <( sort def )
132
Теперь мы получили линию 132!
comm
требует отсортированных входных файлов. Если вы хотите просто построчно, это здорово. Но если вы хотите то, что я бы назвал «антидифф»,comm
не делайте эту работу.