comm - compare two sorted files line by line


comm [OPTION]... FILE1 FILE2


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.


suppress column 1 (lines unique to FILE1)


suppress column 2 (lines unique to FILE2)


suppress column 3 (lines that appear in both files)


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


do not check that the input is correctly sorted


separate columns with STR


output a summary

-z, --zero-terminated

line delimiter is NUL, not newline


display this help and exit


output version information and exit

Note, comparisons honor the rules specified by ’LC_COLLATE’.


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.


Written by Richard M. Stallman and David MacKenzie.


GNU coreutils online help: <>;
Report any translation bugs to <>;


Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <>;.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.


join(1), uniq(1)

Full documentation <>;
or available locally via: info '(coreutils) comm invocation'