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/comm>
or available locally via: info '(coreutils) comm invocation'

Referenced By

join(1), uniq(1).

September 2017 GNU coreutils 8.28 User Commands