COMM(1)

NAME
comm - compare two sorted files line by line

SYNOPSIS
comm [OPTION]... FILE1 FILE2

DESCRIPTION

Compare sorted files FILE1 and FILE2 line by line.

When FILE1 or FILE2 (not both) is -, read standard input.

With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files.

-1  suppress column 1 (lines unique to FILE1)

-2  suppress column 2 (lines unique to FILE2)

-3  suppress column 3 (lines that appear in both files)

--check-order
    check that the input is correctly sorted, even if all input lines are pairable

--nocheck-order
    do not check that the input is correctly sorted

--output-delimiter=STR
    separate columns with STR

--total
    output a summary

-z, --zero-terminated
    line delimiter is NUL, not newline

--help
    display this help and exit

--version
    output version information and exit

Comparisons honor the rules specified by 'LC_COLLATE'.

EXAMPLES

comm -12 file1 file2
    Print only lines present in both file1 and file2.

comm -3 file1 file2
    Print lines in file1 not in file2, and vice versa.

AUTHOR
Written by Richard M. Stallman and David MacKenzie.

REPORTING BUGS
Report bugs to: bug-coreutils@gnu.org
GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
General help using GNU software: <https://www.gnu.org/gethelp/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT
Copyright © 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
join(1), uniq(1)

Full documentation <https://www.gnu.org/software/coreutils/comm>
or available locally via: info '(coreutils) comm invocation'