comm man page

comm — compare two sorted files line by line

TL;DR

comm {{file1}} {{file2}}

comm -12 {{file1}} {{file2}}

cat {{file1}} | comm -12 - {{file2}}

comm -23 {{file1}} {{file2}} > {{file1_only}}

comm -13 <(sort {{file1}}) <(sort {{file2}})

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

Note, 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

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Report comm translation bugs to <http://translationproject.org/team/>

See Also

join(1), uniq(1)

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

Referenced By

join(1), uniq(1).

November 2016 GNU coreutils 8.26 User Commands