comm - Unix, Linux Command


Advertisements


NAME

comm - compare two sorted files line by line and write to standard output: the lines that are common, plus the lines that are unique.

SYNOPSIS

comm [options]... File1 File2

DESCRIPTION

Before 'comm' can be used, the input files must be sorted using the collating sequence specified by the 'LC_COLLATE' locale, with trailing newlines significant. If an input file ends in a non-newline character, a newline is silently appended. The 'sort' command with no options always outputs a file that is suitable input to 'comm'. With no options, 'comm' produces 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. Columns are separated by a single TAB character.

The options -1, -2, and -3 suppress printing of the corresponding columns. Unlike some other comparison utilities, 'comm' has an exit status that does not depend on the result of the comparison. Upon normal completion 'comm' produces an exit code of zero. If there is an error it exits with nonzero status.

OPTIONS

-1suppress lines unique to file1.
-2suppress lines unique to file2.
-3suppress lines that appear in both files.

EXAMPLES

Show the lines unique to words.txt

$ cat words.txt
Apple
Banana
Orange
India
US
Canada
$ cat countries.txt
India
US
Canada
$ comm -23 < (sort words.txt | uniq) < (sort countries.txt | uniq)
Apple 
Banana
Orange

Show the lines common to words.txt and countries.txt.

$ comm -12 < (sort words.txt | uniq) < (sort countries.txt | uniq)
India
US
Canada


Advertisements