comm - select or reject lines common to two files
/usr/bin/comm [-123] [--check-order |--nocheck-order][--output-delimiter=STR] [--help] file1 file2
comm reads two files file1 and file2 which should be ordered in the collating sequence of the current locale, and produces three text columns as output:
Lines only in file1.
Lines only in file2.
Lines in both files.
If lines in either file are not ordered according to the collating sequence of the current locale, the behavior is dependent on the order option specified.
No error will be raised about the sort order. Output will be invalid.
If any line in either file1 or file2 does not appear in sorted order an error will occur, regardless of whether the line if file1 matches the corresponding line in file2.
If no order option is specified, the default behavior is not to check the sort order of the input. This is identical to specifying the –-nocheck-order option.
If either file1 or file2 is -, comm uses standard input starting at the current location.
The following options are supported:
Suppresses the output column of lines unique to file1 .
Suppresses the output column of lines unique to file2 .
Suppresses the output column of lines duplicated in file1 and file2.
Check that the input is correctly sorted, even if all lines in file1 are matched with their corresponding line in file2.
Do not check that the input is correctly sorted. This is the default behavior.
Separate columns with STR.
Display command usage and exit.
The following operands are supported:
A path name of the first file to be compared. If file1 is −, the standard input is used.
A path name of the second file to be compared. If file2 is −, the standard input is used.
If file1, file2, and file3 each contain a sorted list of utilities, the command
example% comm -23 file1 file2 | comm -23 - file3
prints a list of utilities in file1 not specified by either of the other files. The entry:
example% comm -12 file1 file2 | comm -12 - file3
prints a list of utilities specified by all three files. And the entry:
example% comm -12 file2 file3 | comm -23 -file1
prints a list of utilities specified by both file2 and file3, but not specified in file1.
See environ(7) for descriptions of the following environment variables that affect the execution of comm: LANG, LC_ALL, LC_COLLATE , LC_CTYPE, LC_MESSAGES, and NLSPATH .
The following exit values are returned:
All input files were successfully output as specified.
An error occurred.
See attributes(7) for descriptions of the following attributes: